在C程序中捕获Ctrl + C
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C程序中捕获Ctrl + C相关的知识,希望对你有一定的参考价值。
我使用以下代码在我的C程序中捕获Ctrl + C
[代码] >>
+ C,但似乎信号处理程序功能即void sig_handler(int signo) if (signo == SIGINT) exit(EXIT_SUCCESS); void main () ...... if(signal(SIGINT, sig_handler)== SIG_ERR) printf(">>>>>>>>>>>>>>>>>>>>> SIG INT EROOR !!!! sigint=%d ID=%d \n",SIGINT, getpid()); else printf(">>>>>>>>>>AFTER>>>>>>>>>>> SIG INT sigint=%d PID=%d \n",SIGINT, getpid()); char *buf = NULL; asprintf(&buf, "%d", getpid()); write(fd, buf, strlen(buf)); free(buf); uloop_run(); //entering main loop ubus_exit(); uloop_done(); xml_exit(); config_exit(); free(tmp); closelog(); log_message(NAME, L_NOTICE, "exiting\n"); return 0;
我的目的是捕获Ctrl
sig_handler()
无法运行。我想知道如何解决它?
我使用以下代码在我的C程序中捕获Ctrl + C代码void sig_handler(int signo)if(signo == SIGINT)exit(EXIT_SUCCESS); void main()...... if(signal(SIGINT,...
答案
作为iharob answered,您应该添加信号的处理程序。
另一答案
您应该使用此功能将处理程序添加到信号中
以上是关于在C程序中捕获Ctrl + C的主要内容,如果未能解决你的问题,请参考以下文章
如何捕获 CTRL+C 并在 python 的主函数中执行条件? [复制]