linux内核杂记(5)-进程终结
生活随笔
收集整理的這篇文章主要介紹了
linux内核杂记(5)-进程终结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、進程的析構是由自身引起的,發生在進程調用exit()系統調用時,既可能顯式地調用 這個系統調用,也可能隱匿地從某個程序的主函數 返回。
當進程接受到它既不能處理也不能忽略的信號或異常時,它還可能被動地終結,進程終結上do_exit()(kernel/exit.c)完成.
2 、進程 終結后,所有與進程相關聯的所有資源都被釋放,處于EXIT_ZOMBIE退出狀態,占用的所有內存是內核棧、thread_info結構、tast_struct結構。
3、進程 描述符的刪除在最后一個階段完成,當父進程獲得已終結的子進程信息后,或通知內核它并不關注那些信息后,子進程的task_struct結構才被釋放,調用release_task()完成
4、當父進程在子進程之前退出,就給子進程在當前線程組內找一個線程為父親,或者讓init做為它們的父進程。
總結
以上是生活随笔為你收集整理的linux内核杂记(5)-进程终结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dubbo与SpringCloud的架构
- 下一篇: Java 中判断一个字符串是否包含另外一