C 杀死子进程的子进程
我现在的代码大概如下:Linux伊甸园论坛)e%`4T7U3[|0V,[;C8ls
if((child1_pid=fork())==0)!f,SFl_C
{6}D#Zgp*~!y
while(1){
#S'K#H&I~;d,^www.linuxeden.com if(child2_pid){'YBE'DI(O$]
}
kill(child2_pid,SIGKILL);
a:D5Of1zwww.linuxeden.com if(waitpid(child2_pid,NULL,0)<0)
-v0\sl
_^'i printf("kill child2_pid error=%d\n",child2_pid);
~8M(m,uP+MrneLinux伊甸园论坛 elsewww.linuxeden.comb%sp)V:HEP
child2_pid=0;
GFCSwS$A+K }CdE&Yj~
if((child2_pid=fork())<0){
,p2i:Q5N w$D
]"iLinux伊甸园论坛 printf("child2_pid fork error\n");
8CJ5fCZ
?E&I9^)FB }else
@Z6M$w1KLZwww.linuxeden.com if(child2_pid==0){"mf G{Z~
if(execlp("ls ","ls",dir_name1,(char *)0)<0)
Dx\4D&q'Q1Nit_
printf("exec show picture error\n");r,H,~d^3I
exit(0);
C8X7uvL2JS }elsep9kCcVnnd'j
if(child2_pid){y^$efc'J pHC
sleep(3);
`4xt:k#`j }
9M6q6A!{ ]#aU
2wB5T#@eFc }
#O7i hi'^CRVqLinux伊甸园论坛}else
:_kN&l8hDM8o$gif(child1_pid){Linux伊甸园论坛x lBmz2c5R
other_process();
#h,Up,a/A]/Li"R}
Lx
e`6g(A!zwww.linuxeden.comd!Y E/i;EM_/u
在这里我的子进程里做了一个while(1)的循环,每隔3s钟显示系统某目录下的内容,不过在这里我有个问题想请教大家,因为我在父进程里一定条件下会调用kill杀死child1_pid进程,这个时候child2_pid 由于是child1_pid的子进程,请问child2_pid进程会死亡吗?child2_pid是随隔一段时间变化的,他会不会编程僵死进程啊?
|