|
|
|
|
 紧急求救,关于进程! - bbwolf [ 2005-03-25 22:49 | 1,180 byte(s)]
 Re: 紧急求救,关于进程! - zzzz [ 2005-03-31 19:42 | 124 byte(s)]
 Re: 紧急求救,关于进程! - bbwolf [ 2005-03-26 11:47 | 138 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
linux下fork两次,比如:
int dofork() {
pid_t childpid;
if((childpid=fork()) ==0) {
printf("i am child's child: %d
", getpid());
for(;;);
}else if(childpid > 0) {
printf("child1 fork ok: %d
", getpid());
return 1;
}
}
main() {
pid_t childpid;
int i;
Signal(SIGCHLD, sig_chld);
if((childpid = fork()) == 0){
i = dofork();
printf("child1 is here: %d
", getpid());
for(;;) ;
}
else if(childpid > 0) {
printf("parent is here: %d
",getpid());
for(;;) ;
}
}
为什么我ps的时候只显示两个进程,父进程和子进程,而子进程的子进程没有显示出来,除非我kill掉子进程,则子进程的子进程可以显示出来。
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
我把 Signal(SIGCHLD, sig_chld);注掉了,应该没影响吧。
结果是3个进程都在,运行时间也相差无几。
debian sarge
|
|
|
----
无论是神界还是凡间,真正主宰一切的是无可逃避的命运
|
|
[Original]
[Print]
[Top]
|
|
|