Chinaunix

标题: 一个关于execlp()的问题 [打印本页]

作者: comeona1    时间: 2011-11-10 11:52
标题: 一个关于execlp()的问题
具体问题是这样的,主进程fork出一个子进程,子进程调用execlp(),我想在主进程中检测子进程的execlp()有没有执行完,可是试了一下无论是kill(pid,0)还是waitpid(pid,&status,WNOHANG),在execlp()结束后仍然返回0。想请问下各位高手有没有什么好的解决方法?
作者: drangon    时间: 2011-11-10 12:03
"子进程的execlp()有没有执行完" 是个什么概念? 怎样才算执行完,怎样算没执行完?

kill关心的是进程,才不管某个函数是否执行完
作者: comeona1    时间: 2011-11-10 13:13
回复 2# drangon


    可能我说的不够清楚,我在子进程中只执行一个execlp()函数,但是执行这个函数需要消耗一定的时间,我想在主进程中监视子进程中的这个函数何时结束,有办法吗?
作者: drangon    时间: 2011-11-10 16:00
我觉得你想监视的不是execlp()这个函数何时结束,而是想监视新进程什么时候启动起来能够提供服务

这个还是在新进程能够提供服务之后,通过某种途径通知父进程吧




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2