我正在學習fork()
,exec()
等,我遇到了一些我不完全瞭解的教科書。如果您從子進程fork()和exec(),並在父進程中等待,父進程如何從子進程獲取返回代碼?
在該示例中,一個進程調用fork()
。
在子進程中,我們調用exec()
。我們稱之爲wait()
。
這是我的理解,成功exec()
調用永不返回。如果我們在孩子中調用exec()
,如果孩子不會從exec()
返回給孩子,我們如何等待孩子返回父母?
我在這裏唯一的猜測是,發生了什麼事是父母,認爲它正在等待孩子,實際上是等待用exec創建的新進程?即通常我會fork()
並等待孩子。如果我fork()
和執行UNIX程序date
然後等待在父母的孩子,我實際上現在正在等待date
退出?
謝謝!
這很有道理,謝謝! – Gemini