在我的C++程序中,幾個子進程使用fork和execv啓動。我不等他們,所以他們在後臺運行。當他們完成運行時,我想運行某個功能。如何才能做到這一點?當子進程結束時調用函數
回答
收聽SIGCHLD
信號並在處理程序中調用您的函數。要小心你在處理程序中調用的內容,只能調用異步信號安全函數。
我猜你做想等待進程完成,但你想要並行運行進程而不是順序進程。如果是這樣,請像現在一樣啓動每個進程,然後在每個子進程上使用系統調用waitpid()
。當每個進程退出時,每個waitpid都會返回。
應該waitpid使用WNOHANG? – 2011-04-28 07:01:49
如果您想等待子流程完成,則不需要。 – 2011-04-28 08:12:56
我不希望父進程等待孩子。 – 2011-04-28 09:16:26
- 1. eventHandler結束時的Javascript調用函數
- 2. 當從Python子進程終止時的C++調用函數
- 3. 當等待()結束時進程終止
- 4. 當.refreshAfterWrite()結束時,loadCache調用哪個函數?
- 5. 使用子進程來確定進程何時結束
- 6. 當子進程結束時斷開循環
- 7. 結束進程和子進程
- 8. 另一個異步函數結束時的Javascript調用函數
- 9. 觸摸使用UIGestureRecogniser進行子類化時未結束調用
- 10. 從子進程調用bash函數
- 11. 當程序執行結束時導致VB進程不能結束的形式
- 12. settimeout調用的函數沒有結束
- 13. 等到函數調用結束jQuery中
- 14. 動畫結束後的調用函數結束於react-native-maps
- 15. 當用戶輸入某個句子時使程序結束
- 16. 如何等待子進程結束
- 17. 等待非子進程結束
- 18. 程序結束時未終止進程
- 19. 程序結束時進程返回0xC0000005
- 20. 如何在動畫結束時使用Zepto來調用函數?
- 21. 一個被調用的子/函數可以結束調用者子/函數的執行嗎?
- 22. 子進程函數
- 23. 運行守護進程,當某些組的最後一個進程結束時將結束
- 24. JQuery Smooth Div在循環結束時滾動調用ajax函數
- 25. 基本Flash問題 - 在電影結束時調用javascript函數
- 26. 在dymola中模擬結束時調用外部函數
- 27. 在每個循環結束時調用函數一次
- 28. jquery不能在動畫結束時調用javascript對象函數
- 29. 如何在runAction結束時調用特定的函數?
- 30. 在按鈕單擊事件結束時調用JavaScript函數
你怎麼知道這些功能是什麼? – 2011-04-28 07:02:29
@ z-buffer:在這個頁面的末尾有一個列表:http://linux.die.net/man/2/signal – cnicutar 2011-04-28 15:28:19