#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!
");flag = 0;}int main(){signal(SIGINT, func);printf("pid:%ld
",(long)getpid());while(flag)pause();return 0;}执行,#gcc sig.c -o sig#./sig在另一终端:#kill -INT 333//333是程序打印出的进程号查看全套文章:http://www.bianceng.cn/Programming/C/201212/34807.htm