0
点赞
收藏
分享

微信扫一扫

信号中断处理 进程通信


#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 条评论