#include <stdio.h>
#include <signal.h>
#define SIGMSG (SIGUSR1+10)
static void sig_usr(int);
int main(void)
{
if(signal(SIGUSR1,sig_usr)==SIG_ERR)
printf("can't catch SIGUSR1\n");
if(signal(SIGUSR2,sig_usr)==SIG_ERR)
printf("can't catch SIGUSR2\n");
if(signal(SIGMSG,sig_usr)==SIG_ERR)
printf("can't catch SIGMSG\n");
for(;;)
{
sleep(3);
raise(SIGMSG);
}
pause();
}
static void sig_usr(int signo)
{
if(signo == SIGUSR1)
printf("received SIGUSR1\n");
else if(signo == SIGUSR2)
printf("received SIGUSR2\n");
else
printf("received = %d\n",signo);
}
~
linux 信号注册处理发送signal
最新推荐文章于 2023-04-30 09:46:29 发布