[linux]wait详解
生活随笔
收集整理的這篇文章主要介紹了
[linux]wait详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
wait:進程等待
主要有兩種等待方式:阻塞式等待和非阻塞式等待
阻塞式等待:如果子進程正在運行,父進程將會一直等待著子進程運行結束,并且自己什么事都不干
非阻塞式等待:如果子進程正在運行,父進程將會訪問看子進程是否運行結束,如果運行結束,則父進程開始運行;否則,父進程干其他的事,直到子進程運行結束。
阻塞式等待例程:
運行結果:
休眠5秒后:
這里,有幾個點需要注意一下:
WIFEXITED(status):status的低8位,表示進程退出時的信號。0代表沒有收到信號。非0表示收到信號。
WEXITSTATUS(status):status的次低8位,表示進程的退出碼
非阻塞等待例程:
運行結果:
sleep(2)后:
進程等待可能有幾種結果:
(1) 等待成功,返回子進程的退出碼 (2) 等待成功,但是卻異常退出 (3) 等待失敗,直接退出總結
以上是生活随笔為你收集整理的[linux]wait详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于fd和fp(fd:file desc
- 下一篇: [Linux]消息队列