|
SIGINT信號: 程序終止(interrupt)信號, 在用戶鍵入INTR字符(通常是Ctrl-C)時發(fā)出,用于通知前臺進程組終止進程。 例子1: #include <stdio.h> #include <signal.h> #include <stdlib.h> void sig_int(int signo) { printf("sig_int\n"); //exit(0); } int main(int argc, char *argv[]) { //signal(SIGINT, sig_int); while (1) ; return 0; } 程序運行后,ctrl+c會終止程序 例子2: #include <stdio.h> #include <signal.h> #include <stdlib.h> void sig_int(int signo) { printf("sig_int\n"); //exit(0); } int main(int argc, char *argv[]) { signal(SIGINT, sig_int); while (1) ; return 0; } 自己捕捉信號,ctrl+c不會終止程序,需要kill -9 pid 例子3: #include <stdio.h> #include <signal.h> #include <stdlib.h> void sig_int(int signo) { printf("sig_int\n"); exit(0); } int main(int argc, char *argv[]) { signal(SIGINT, sig_int); while (1) ; return 0; } 自己捕捉信號,ctrl+c終止程序 總結(jié):信號SIGINT默認處理的時候會調(diào)用exit終止程序 ———————————————— 版權(quán)聲明:本文為CSDN博主「隨波不逐流」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。 原文鏈接:https://blog.csdn.net/weixin_42377147/article/details/90475758 |
|
|