编写一个按下 Ctrl+C 时不会终止的 C 程序
在本节中,我们将看到如何用C编写一个不能被Ctrl+C键终止的程序。
Ctrl+C产生键盘中断,并停止当前进程的执行。在这里,当我们按下Ctrl+C键时,它会打印一条消息然后继续执行。要使用此功能,我们将使用C中的信号处理技术。当按下Ctrl+C时,它会生成SIGINT信号。以下列表中还有一些其他信号及其功能。
这里我们将使用标准的C库函数signal()来处理这些信号。
示例代码
#include输出结果#include void sigint_handler(int signum) { //SIGINT处理程序 //重置处理程序以在下次捕获SIGINT。 signal(SIGINT, sigint_handler); printf("Cannot be stopped using Ctrl+C \n"); fflush(stdout); } main () { signal(SIGINT, sigint_handler); while(1) { //创建无限循环 } }
Cannot be stopped using Ctrl+C Cannot be stopped using Ctrl+C