wait()和waitpid()的参数解析
生活随笔
收集整理的這篇文章主要介紹了
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=-1 | 等待任何一個子進程退出,沒有任何限制,此時waitpid和wait的作用一模一樣。 |
| pid=0時 | 等待同一個進程組中的任何子進程,如果子進程已經加入了別的進程組,waitpid不會對它做任何理睬。 |
| pid<-1 | 等待一個指定進程組中的任何子進程,這個進程組的ID等于pid的絕對值。 |
* 參數status如果不是一個空指針,則終止進程的終止狀態就存放在status所指向的單元。
* 參數status如果是一個空指針,則表示父進程不關心子進程的終止狀態
option
| WUNTRACED | 返回終止子進程信息和因信號停止的子進程信息 |
| WCONTINUED | 返回收到SIGCONT信號而恢復執行的已停止子進程狀態信息 |
返回值:
| 失敗 | 返回-1 |
| WNOHANG | 沒有子進程退出返回0 |
總結
以上是生活随笔為你收集整理的wait()和waitpid()的参数解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我好久没进去玩了!再进去时什么坦克都没了
- 下一篇: task_struct结构体查找