Q
通知父進程
0
A
回答
4
當孩子退出時,操作系統向父母發送SIGCHLD
。您可以選擇使用WNOHANG
輪詢waitpid()
,或者在收到SIGCHLD
後僅與wait()
進行覈對。子進程不需要特別做任何事情,這一切都由操作系統管理。
1
在Linux操作系統中,每個孩子都有一些父母,即使父母在孩子之前死亡,該孩子也被init(PID:1)進程繼承。這樣做是爲了不應該有任何殭屍進程(進程表中存在進程表,但進程實際上已經死亡),這會佔用無用的內存空間。
內核會關注所有因完全執行或由於其他原因(如無效內存訪問)而死亡的進程,並保留一些信息,如孩子的退出狀態。當孩子終止SIGCHLD
信號發送給父母。默認情況下,信號被忽略。但是,通常在SIGCHLD的處理程序中實現系統調用,以便父級可以根據子級的退出狀態進行操作。
0
相關問題
- 1. 當子進程死亡時通知父進程
- 2. 從孩子通知父進程的最佳方式
- 3. C中的通知父子線程
- 4. 子進程/父進程
- 5. 如何通過shell殺死父進程?
- 6. Ptrace父進程
- 7. ptrace'ing父進程
- 8. Java對象通知父類
- 9. 子進程和父進程異步通信linux
- 10. 子進程和父進程之間的通信
- 11. 父進程和多個子進程之間的通信
- 12. 父進程與子進程之間的通信 - Perl
- 13. 通過Webkit通知回傳給父母
- 14. 後臺進程終止後的通知
- 15. 當進程退出時得到通知
- 16. Linux在進程啓動時通知
- 17. c#通知正在運行的進程
- 18. Windows通知服務器端進程
- 19. 推送通知 - 後臺進程 - iPhone
- 20. 子線程退出時如何通知父線程
- 21. 如何通知父線程所有子線程都已終止?
- 22. 父和子進程
- 23. C:父子進程
- 24. Node.JS父進程ID
- 25. fork()如何知道它是否在子進程和父進程中?
- 26. 如何看父進程和子進程
- 27. 從子進程獲取父進程ID
- 28. 父進程和子進程時間
- 29. 父進程和子進程的關係
- 30. fork()子進程和父進程