信號處理是linux程序的一個特色。用信號處理來模擬操作系統的中斷功能。要想使用信號處理功能,你要做的就是填寫一個信號處理函數即可。
#include <stdio.h> #include <sys/types.h> #include <stdlib.h> #include <signal.h> int flag = 1; void func(int sig) { printf("I get a signal!\n"); flag = 0; } int main() { signal(SIGINT, func); printf("pid:%ld\n",(long)getpid()); while(flag) pause(); return 0; }
執行,
#gcc sig.c -o sig #./sig 在另一終端: #kill -INT 333//333是程序打印出的進程號