程序控制之wait3和wait4函式

2022-05-04 20:15:23 字數 588 閱讀 3447

大多數unix系統實現提供了另外兩個函式wait3和wait4。它們提供的功能比posix.1函式wait、waitpid和waitid所提供的功能要多乙個,這與附加引數rusage有關。該引數要求核心返回由終止程序及其所有子程序使用的資源彙總。

#include #include 

#include

#include

pid_t wait3(

int *statloc, int options, struct rusage *rusage );

pid_t wait4( pid_t pid,

int *statloc, int options, struct rusage *rusage );

兩個函式返回值:若成功則返回程序id,若出錯則返回-1

資源統計資訊包括使用者cpu時間總量、系統cpu時間總量、頁面出錯次數、接收到訊號的次數等。有關細節請參閱getrusage(2)手冊頁。

本篇博文內容摘自《unix環境高階程式設計》(第二版),僅作個人學習記錄所用。關於本書可參考:

程序控制之wait和waitpid函式

當乙個程序正常或異常終止時,核心就向其父程序傳送sigchld訊號。因為子程序終止是個非同步事件 這可以在父程序執行的任何時候發生 所以這種訊號也是核心向父程序發的非同步通知。父程序可以選擇忽略該訊號,或者提供乙個該訊號發生時即被呼叫執行的函式 訊號處理程式 對於這種訊號的系統預設動作是忽略它 呼叫...

Linux程序控制(三)wait

5.wait系列函式 include pid t wait int statloc pid t waitpid pid t pid,int statloc,int options 若成功,返回程序id 若出錯,返回0或 1 程序呼叫wait waitpid 若所有子程序還在執行,wait waitp...

程序管理之wait和waitpid

在介紹wait waitpid和waitid函式之前,首先要介紹一下殭屍程序,因為,這三個函式的本質任務就是處理殭屍程序的問題。程序會我們的生命體一樣,也有消亡。程序在退出時,核心會清理程序幾乎所有的資源。例如 記憶體資源 檔案資源 訊號量資源 共享記憶體資源或者引用數減一 又或釋放共享記憶體資源。...