我找地方使用EXEC將是唯一availble的選項,一個真實的世界之情況(該問題無法在不使用EXEC解決)Exec的現實世界的例子
我知道什麼是高管,以及它如何不同來自fork,但仍對現實世界中的問題感興趣,該問題強制執行exec命令。
我找地方使用EXEC將是唯一availble的選項,一個真實的世界之情況(該問題無法在不使用EXEC解決)Exec的現實世界的例子
我知道什麼是高管,以及它如何不同來自fork,但仍對現實世界中的問題感興趣,該問題強制執行exec命令。
shell如何啓動另一個進程,沒有使用exec?
fork()
(或者,現在在Linux上更好的clone()
)只是說要複製一個進程。那麼你有兩個相同的過程副本。
execve()
(和-le,-lp,-vp,-v friends)只是說要用一個新進程完全替換當前進程。 (保留fd,但不多)
因此,要啓動另一個程序,首先必須在生成的進程之一(通常是子進程)中執行fork()
,然後執行exec()
。
沒錯,兩個系統調用之間有某種協同作用。他們通常一起使用。 – Ricardo 2010-08-03 15:51:05
老兄,什麼語言,什麼操作系統等? 'exec'是指英國石油公司的首席執行官嗎?如果你想得到有用的答案,請提出具體問 – 2010-08-03 14:55:44
從當前進程加載另一個Unix二進制文件不是*真實世界*不夠?你認爲Unix shell是一個壞主意嗎?你的問題的背景是什麼? – 2010-08-03 14:57:12
...這是關於shell命令調用exec還是exec系統調用系列('man 3 exec')? – 2010-08-03 14:59:16