当前位置: 技术问答>linux和unix
REDHAT LINUX 9中如何使用signal这个函数进行中断通信?
来源: 互联网 发布时间:2015-06-26
本文导语: 比如新建一个子进程后,在父进程的代码中执行在键盘上按下一个del键,然后就kill该子进程而且显示一句字符串。 现在如用fork建立一进程p1,然后在父进程的代码中有 int wait_mark=1; signal(SIGINT,stop); waiting(); kill(p1,16); ...
比如新建一个子进程后,在父进程的代码中执行在键盘上按下一个del键,然后就kill该子进程而且显示一句字符串。
现在如用fork建立一进程p1,然后在父进程的代码中有
int wait_mark=1;
signal(SIGINT,stop);
waiting();
kill(p1,16);
printf("p1 has been killed");
waiting()的函数是:
waiting()
{while(wait_mark!=0);
}
stop()
{wait_mark=0);}
然后键盘的del键按下后没响应。
请问高手们,这个signal是怎么用的?
现在如用fork建立一进程p1,然后在父进程的代码中有
int wait_mark=1;
signal(SIGINT,stop);
waiting();
kill(p1,16);
printf("p1 has been killed");
waiting()的函数是:
waiting()
{while(wait_mark!=0);
}
stop()
{wait_mark=0);}
然后键盘的del键按下后没响应。
请问高手们,这个signal是怎么用的?
|
你为SIGINT信号,注册了响应函数stop,但是你在stop函数里,并没有什么动作阿,怎么能退出呢!