使用signal()函数捕捉信号 进行处理
代码:
ngnsvr9 [** NONE **]/home/xionghailong/example $ cat signal.c
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
void my_func(int sign_no)
{
if (sign_no == SIGINT)
{
printf("i have get sigint \n");//"ctrl - c"
}
else if (sign_no == SIGQUIT)
{
printf("i have get sigquit \n"); //"ctrl - \"
}
}
int main()
{
printf("waiting fr signal sigint or sigquit...\n");
signal(SIGINT, my_func);
signal(SIGQUIT, my_func);
pause();
exit(0);
}
编译运行:
ngnsvr9 [** NONE **]/home/xionghailong/example $ gcc signal.c -o signal
ngnsvr9 [** NONE **]/home/xionghailong/example $ ./signal
waiting fr signal sigint or sigquit...
i have get sigint
ngnsvr9 [** NONE **]/home/xionghailong/example $ ./signal
waiting fr signal sigint or sigquit...
i have get sigquit