#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;
}