popen() alternative - 我正在使用accepted
答案(管道/ fork/exec方法)來解決我的問題。唯一的區別是,我正在使用execv
而不是execl
。「execv」子進程存在和終止
現在,我的問題是,父進程是否有任何控制由execv
創建的子進程?可以說,在accepted
答案中提出的整個順序是用於拖尾1個文件,而且我有很多這樣的文件;我把這個整個序列放在一個函數中,如果我多次調用這個函數,在某個時間點,是否有可能有許多子進程?
我想知道的是, 1)我可以在任何時間點運行多個子進程嗎? 2)子進程(由execv創建)如何終止? execv
調用父進程是否知道子進程(由execv創建)是否完成/終止? - 回答。
如果你能夠使用它,GLib有一個這種東西的防彈實現:http://developer.gnome.org/glib/2.30/glib-Spawning- Processes.html這很難讓它完全正確(我知道是因爲我編寫了GLib,當然它可能還不是完全正確,但它處理了大量細節) –
短語「由execv創建的子進程」是不正確的。 execv不創建一個孩子。 –