Linux系统编程17:进程控制之进程等待为什么进程需要被等待wait方法和waitpid方法阻塞和非阻塞等待
生活随笔
收集整理的這篇文章主要介紹了
Linux系统编程17:进程控制之进程等待为什么进程需要被等待wait方法和waitpid方法阻塞和非阻塞等待
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- (1)為什么子進程需要被等待
- (2)等待進程的方法
- A:wait方法
- B:waitpid方法
- C:進程非阻塞式等待
前文說過,子進程被創建之后,父子進程究竟誰先運行是由調度器說了算。
但是,誰先結束呢?一般來說肯定是要讓子進程先結束,想一想我們的bash,bash是所有命令的父進程,你總不能讓bash先掛吧
其實之所以讓子進程先退出,是因為父進程容易對子進程進行管理,而且子進程被創建的原因就是因為父進程想要讓子進程幫助自己完成一些業務,因此它要拿到結果。因此父進程一般需要等待子進程
(1)為什么子進程需要被等待
既然子進程要先退出,那么子進程退出后就變成了僵尸狀態,一旦變成僵尸狀態,這個子進程就如同僵尸一樣,殺也殺不死(因為它已經死了),所以它必須需要讓父進程讀取到它的狀態,回收子進程信息。只有這樣,子進程才能得到“救贖”,“魂魄”才能歸天
(2)等待進程的方法
總結
以上是生活随笔為你收集整理的Linux系统编程17:进程控制之进程等待为什么进程需要被等待wait方法和waitpid方法阻塞和非阻塞等待的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos 关闭防火墙
- 下一篇: linux 其他常用命令