【发布时间】:2016-04-22 15:46:40
【问题描述】:
我有一个关于 UNIX 中的 init 进程如何工作的问题。据我了解,init 进程是第一个启动的,然后其他进程分叉它。
假设我们启动 init 进程,然后 fork 一个子进程,我们用一个新程序调用 exec ,这恰好导致子进程等待一些 I/O 输入。现在父初始化进程可以等待子进程,但如果它这样做了,那么就没有其他进程可以运行了。相反,如果 init 进程不等待而是陷入等待循环或其他情况,那么当子进程恢复时,父进程现在占用处理器时间什么也不做。
解决此问题的最佳方法是什么? init 进程是否应该简单地总是运行一个无限循环并且我们不担心资源浪费?或者有没有更好的方法。
任何帮助将不胜感激, 本
【问题讨论】:
标签: unix init process-management