日期:2014-05-16  浏览次数:20741 次

有没有子进程等待父进程这一说?
我今天看了 fork() wait() 函数:
 貌似wait() 函数是用来 父亲进程等待子进程,  

  wait() 可不可以使子进程等待父进程啊? 还是说根本就没有 子等父这一说法!  

偶滴概念还不是很理解,有点模糊,求高手指点一二。 嘻嘻

------解决方案--------------------
父进程死了,子进程的父进程就不是死了的这个父进程了,而变为init进程了
------解决方案--------------------
wait()只能用于等待子进程。 man 里面对 wait()系列系统调用有明确的说明:
 All of these system calls are used to wait for state changes in a child of the calling process, and obtain information about the child whose state has changed.
如果一个进程没有子进程,wait()函数返回 -1, errno 设置为 ECHILD.
------解决方案--------------------
就没有 子 等 父 这个说法,子进程不能获取父进程的退出状态。

如果你的意思的是子进程等待父进程执行结束后,再做什么相应处理..
那可以利用某种进程间通信机制,进行通知
------解决方案--------------------
貌似没有,子进程的父进程结束后,如果子进程还在运行,那么这个子进程就成了孤儿进程,会被init进程接管