2012-11-15 61 views
0

是否有一個啓動一個進程的方式,並等待其子進程結束?我的問題是以下。我有一個setup.exe。如果我啓動它,它運行4-5秒,並且開始1個或2個新的過程,和的setup.exe關閉。如何啓動一個進程並等待其子進程結束

如果我開始用的CreateProcess和WaitForSingleObject的使用SETUP.EXE,然後它會等待,然後才直到setup.exed關閉。

有沒有一種方法,要等到新工藝,通過SETUP.EXE開始結束了嗎?

謝謝

+0

重複的http://stackoverflow.com/questions/1683902/waiting-for-grandchild-processes-in-windows – user93353

回答

0

Maby你可以在啓動時創建一個Mutex並鎖定它。然後,使用WaitForSingleObject api使基礎進程等待它。當所有者進程終止時,互斥鎖會自動銷燬。

另外,您可以創建用於終止當過程結束後,您的SETUP.EXE可以檢查是否存在FRIM知道,如果進程仍在運行的子進程tmp文件。

+0

互斥對象只在最後一個句柄關閉後才被銷燬。當主人線程終止他們發出信號,但仍然無法與孫進程提供幫助。 –