日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

wait()和waitpid()的参数解析

發布時間:2023/11/30 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 wait()和waitpid()的参数解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

進程的等待

#include <sys/types.h>
#include <sys/wait.h>

wait(),waitpid()區別:

  • 在一個子進程終止前,wait使其調用者阻塞,而waitpid有一個選項,可使調用者不阻塞;
  • waitpid()并不等待在其調用之后的第一個終止的子進程,它有若干個選項,可以控制它所等待的進程;

wait()

pid_t wait(int *status);
返回值:

成功成功結束運行的子進程的進程號
失敗返回-1

參數:

  • 參數status如果不是一個空指針,則終止進程的終止狀態就存放在statloc所指向的單元。
  • 參數status如果是一個空指針,則表示父進程不關心子進程的終止狀態

waitpid()

pid_t waitpid(pid_t pid, int *status, int options);

參數:

pid>0只等待進程ID等于pid的子進程,不管其它已經有多少子進程運行結束退出了,只要指定的子進程還沒有結束,waitpid就會一直等下去。
pid=-1等待任何一個子進程退出,沒有任何限制,此時waitpid和wait的作用一模一樣。
pid=0時等待同一個進程組中的任何子進程,如果子進程已經加入了別的進程組,waitpid不會對它做任何理睬。
pid<-1等待一個指定進程組中的任何子進程,這個進程組的ID等于pid的絕對值。

* 參數status如果不是一個空指針,則終止進程的終止狀態就存放在status所指向的單元。
* 參數status如果是一個空指針,則表示父進程不關心子進程的終止狀態

option

WNOHANG若由pid指定的子進程未發生狀態改變(沒有結束),則waitpid()不阻塞,立即返回0
WUNTRACED返回終止子進程信息和因信號停止的子進程信息
WCONTINUED返回收到SIGCONT信號而恢復執行的已停止子進程狀態信息

返回值:

成功成功結束運行的子進程的進程號
失敗返回-1
WNOHANG沒有子進程退出返回0

總結

以上是生活随笔為你收集整理的wait()和waitpid()的参数解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。