wait waitpid函式獲取狀態的使用

2021-10-01 07:30:53 字數 793 閱讀 3356

wifexited(wstatus)

如果子項正常終止(即通過呼叫exit(3)或_exit(2)或從main()返回),則返回true。

wexitstatus(wstatus)

返回子項的退出狀態。它由狀態引數的最低有效8位組成,該狀態引數的子級是在呼叫exit(3)或_exit(2)時指定的,或者是main()中return語句的引數。僅當wifexited返回true時,才應使用此巨集。

wifsignaled(wstatus)

如果子程序被訊號終止,則返回true。

wtermsig(wstatus)

返回導致子程序終止的訊號編號。僅當wifsignaled返回true時,才應使用此巨集。

wcoredump(wstatus)

如果子項產生了核心轉儲,則返回true。僅當wifsignaled返回true時,才應使用此巨集。 posix.1-2001中未指定此巨集,並且在某些unix實現中(例如aix,sunos)不可用。因此,請將其用法包含在#ifdef wcoredump … #endif中。

wifstopped(wstatus)

如果子程序由於傳遞訊號而停止,則返回true;否則返回true。僅當使用wuntraced進行呼叫或跟蹤孩子時,才有可能(請參見ptrace(2))。

wstopsig(wstatus)

返回導致孩子停止的訊號編號。僅當wifstopped返回true時,才應使用此巨集。

wifcontinued(wstatus)

(從linux 2.6.10開始)如果子程序通過sigcont的交付而恢復,則返回true。

wait waitpid函式使用

殭屍程序 子程序退出,父程序沒有 子程序資源 pcb 則子程序變成殭屍程序 孤兒程序 父程序先於子程序結束,則子程序成為孤兒程序,子程序的父程序成為1號程序init程序,稱為init程序領養孤兒程序 include include pid t wait int status pid t waitpi...

殭屍程序 wait waitpid

如果其所有子程序都在執行,則阻塞。如果乙個子程序已經終止,正在等待的父程序獲取到終止狀態,則取得該子程序的終止狀態立即返回。如果他沒有任何子程序,則立即出錯返回。void sig chld int signo pid 0時,只等待程序id等於pid的子程序,不管其它已經有多少子程序執行結束退出了,只...

linux 程序等待 wait waitpid

waitpid 與 wait 功能相似,都是使用者主程序等待子程序結束或中斷.可用於程序之間的同步 wait 函式原型 pid t wait int status 函式說明 wait 會臨時停止眼下程序的執行,直到有訊號來到或子程序結束.假設在呼叫wait 時子程序已經結束,則 wait 會立即返回...