信号中断处理 进程通信

非凡兔

关注

阅读 239

2022-09-15


#include <stdio.h>
#include <signal.h>
#include <string.h>
#include <unistd.h>

// ---------------------------------------------------------------------
// 消息处理
//
// 程序开始运行时调用s_catch_signals()函数;
// 在循环中判断s_interrupted是否为1,是则跳出循环;

static int interrupted=0;
void signal_handler(int sig)
{
(void)sig;
interrupted=1;
}

void catch_signals(void)
{
struct sigaction action;
action.sa_handler=signal_handler;
action.sa_flags=0;
sigemptyset(&action.sa_mask);
sigaction(SIGINT,&action,NULL);
}


int main(void)
{
catch_signals();
char buf[256];
int i=0;
while (!interrupted)
{
printf("hello salman!!!");
}

return 0;
}

 

精彩评论(0)

0 0 举报