test.c
#include <stdio.h>
#include <signal.h>
void quit_handler();
int main(int argc, char ** argv)
{
sigset( SIGQUIT, quit_handler );
printf( "Process_pid=[%d]\n", getpid() );
while(1);
return 0;
}
void quit_handler()
{
printf("Get a SIGQUIT signal!\n");
}
SIGQUIT : 与SIGINT类似,但由QUIT字符(通常是Ctrl+\)来控制。进程因收到SIGQUIT退出时会产生core文件,在这个意义上类似于一个程序错误信号。
gcc test.c -o test
运行程序:
./test
按下”Ctrl+\” 键((or kill -3 1234,kill -SIGQUIT 1234)),程序并不退出,而是打印输出 Get a SIGQUIT signal!。
可以使用Ctrl+C 来退出(SIGINT)。
转自:https://blog.csdn.net/a379039233/article/details/80715403