标题: C 杀死子进程的子进程
zhouliang55
新生入学
Rank: 1
注册用户



UID 182250
精华 0
积分 0(积分有什么用?)
帖子 25
阅读权限 10
注册 2007-3-3
状态 离线
发表于 2007-8-16 10:41  资料  个人空间  短消息  加为好友 
C 杀死子进程的子进程

我现在的代码大概如下:Linux伊甸园论坛)e%`4T7U3[|0V,[;C8ls
if((child1_pid=fork())==0)!f,SF l_ 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;
GFCSw S$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^$ef c'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]/L i"R}
Lx
e`6g(A!zwww.linuxeden.com
d!YE/i;EM_/u
在这里我的子进程里做了一个while(1)的循环,每隔3s钟显示系统某目录下的内容,不过在这里我有个问题想请教大家,因为我在父进程里一定条件下会调用kill杀死child1_pid进程,这个时候child2_pid 由于是child1_pid的子进程,请问child2_pid进程会死亡吗?child2_pid是随隔一段时间变化的,他会不会编程僵死进程啊?

顶部
不容错过的IBM 集群技术资源汇总
flag
版主
Rank: 7Rank: 7Rank: 7
版主



UID 19801
精华 1
积分 28(积分有什么用?)
帖子 5581
阅读权限 100
注册 2002-7-19
状态 离线
发表于 2007-8-17 09:45  资料  个人空间  短消息  加为好友 
你没有抓住问题的关键,关键是如果不回收的话,是会僵死的。。。。。





上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。
顶部
fishen
新生入学
Rank: 1
注册用户



UID 118008
精华 0
积分 0(积分有什么用?)
帖子 1
阅读权限 10
注册 2005-4-18
状态 离线
发表于 2007-8-18 17:22  资料  个人空间  短消息  加为好友 
不会,要回收,child2_pid是随隔一段时间变化,所以,不会

顶部
 



当前时区 GMT+8, 现在时间是 2008-5-17 04:01

    Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
Processed in 0.076697 second(s), 5 queries

清除 Cookies - 联系我们 - Linux伊甸园 - Archiver - WAP