【发布时间】:2015-06-01 18:21:13
【问题描述】:
我想知道这个问题:
如果我在 bash 中键入以下命令
# 睡眠 100 &
shell 怎么知道等待它结束?
当 shell 分叉自己以执行 sleep 命令时,与号在技术上不是意味着它不会等待新分叉的进程吗? 尽管如此,它仍然在等待它(否则我会将它视为僵尸,而我不会)
在这里感到困惑:\
【问题讨论】:
-
因为它保留了正在运行的作业列表。
-
不太明白是什么意思。。有什么不同?
-
当你去学校接你的孩子时,是什么阻止你开车去学校,等 15 秒,然后开车离开? 你知道你有多少孩子,还有多少还没有上车。
-
此外,并非所有形式的
wait()调用块。 shell 可以在执行 print-a-prompt 业务时轮询它是否有任何子节点已经完成运行,如果它们完成则获取它们,否则不会延迟继续。 -
当然会,最终。但是,它不会执行 阻塞 等待,这是重要的部分。
标签: linux bash shell process wait