【发布时间】:2016-02-29 21:34:16
【问题描述】:
我正在学习fork()、exec() 等,我在教科书中遇到了一些我不完全理解的内容。
在示例中,一个进程调用fork()。
在子进程中,我们调用exec()。
稍后,在父级中,我们调用wait()。
据我了解,成功的exec() 调用永远不会返回。如果我们在子进程中调用exec(),如果子进程永远无法从exec() 返回控制权,我们怎么能在父进程中等待子进程返回?
我在这里唯一的猜测是,发生的事情是父母认为它在等待孩子,实际上是在等待使用 exec 创建的新进程? IE。通常我会fork() 并等待孩子。如果我 fork() 并执行 UNIX 程序 date 然后等待父级中的子级,我现在真的在等待 date 退出吗?
谢谢!
【问题讨论】:
标签: unix process fork exec wait