Chinaunix
标题:
一个关于信号的问题
[打印本页]
作者:
keanlee
时间:
2004-06-25 15:27
标题:
一个关于信号的问题
我遇到这样一个问题:对于SIGCLD信号,系统默认的忽略和显式声明忽略(signal(SIGCLD,SIG_IGN))作用不同。
问题是:“系统默认的忽略”在系统接收到SIGCLD信号后做如何处理?
作者:
lenovo
时间:
2004-06-25 15:56
标题:
一个关于信号的问题
为什么不用SIGCHLD信号,
这个信号不被推荐使用。
作者:
keanlee
时间:
2004-06-25 16:02
标题:
一个关于信号的问题
为什么不用SIGCHLD信号,
这个信号不被推荐使用。
关键问题是系统的忽略会做如何处理!
作者:
lenovo
时间:
2004-06-25 16:07
标题:
一个关于信号的问题
自己写一个小程序试一试不就知道了。
作者:
keanlee
时间:
2004-06-25 16:21
标题:
一个关于信号的问题
我写了。
程序很简单:
#include <stdio.h>;
#include <stdlib.h>;
#include <signal.h>;
int main()
{
int i;
int proc;
signal(SIGCHLD,SIG_IGN);
proc=fork();
if(proc<0)
{
printf("\tfork进程失败!\n"
;
return -1;
}
if(proc==0)
{
printf("fork ok!\n"
;
exit(0);
}
sleep(60);
exit(0);
}
如果有通过signal函数声明,不会产生僵尸;如果去掉signal函数,按照系统默认,就会产生僵尸。
作者:
lenovo
时间:
2004-06-25 16:29
标题:
一个关于信号的问题
呵呵,这就对了。
作者:
keanlee
时间:
2004-06-25 16:32
标题:
一个关于信号的问题
老大,这两者有何区别?系统所谓的默认处理对SIGCLD信号做了什么?(修改一下:默认忽略处理)
作者:
lenovo
时间:
2004-06-25 16:40
标题:
一个关于信号的问题
默认处理什么也没做,
结果不是很明显嘛,产生了僵尸进程。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2