以下代码描述sigaction函数的应用,实现进程响应用户按Ctrl+c 或者 Ctrl +\键,并进行相应的自定义操作,而不是系统默认的终止进程。
#include<signal.h>
#include<stdio.h>
#include<stdlib.h>
void func(int sign_no)
{
if (sign_no == SIGINT)
{
printf("I have get SIGINT\n");
}
else if (sign_no == SIGQUIT)
{
printf("I have get SIGQUIT\n");
}
}
int pause(void);
int main()
{
struct sigaction action;
printf("Waiting for signal SIGINT or SIGQUIT...\n");
action.sa_handler = func;
sigemptyset(&action.sa_mask);
action.sa_flags=0;
sigaction(SIGINT,&action,0);
sigaction(SIGQUIT,&action,0);
pause();
exit(0);
}
Linux之信号处理-【函数】sigaction-【代码4-6】sigaction.c
最新推荐文章于 2023-03-26 19:24:07 发布