wait()和waitpid()的参数解析
生活随笔
收集整理的這篇文章主要介紹了
wait()和waitpid()的参数解析
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
進(jìn)程的等待
#include <sys/types.h>
#include <sys/wait.h>
wait(),waitpid()區(qū)別:
- 在一個(gè)子進(jìn)程終止前,wait使其調(diào)用者阻塞,而waitpid有一個(gè)選項(xiàng),可使調(diào)用者不阻塞;
- waitpid()并不等待在其調(diào)用之后的第一個(gè)終止的子進(jìn)程,它有若干個(gè)選項(xiàng),可以控制它所等待的進(jìn)程;
wait()
pid_t wait(int *status);
返回值:
| 失敗 | 返回-1 |
參數(shù):
- 參數(shù)status如果不是一個(gè)空指針,則終止進(jìn)程的終止?fàn)顟B(tài)就存放在statloc所指向的單元。
- 參數(shù)status如果是一個(gè)空指針,則表示父進(jìn)程不關(guān)心子進(jìn)程的終止?fàn)顟B(tài)
waitpid()
pid_t waitpid(pid_t pid, int *status, int options);
參數(shù):
| pid=-1 | 等待任何一個(gè)子進(jìn)程退出,沒有任何限制,此時(shí)waitpid和wait的作用一模一樣。 |
| pid=0時(shí) | 等待同一個(gè)進(jìn)程組中的任何子進(jìn)程,如果子進(jìn)程已經(jīng)加入了別的進(jìn)程組,waitpid不會(huì)對(duì)它做任何理睬。 |
| pid<-1 | 等待一個(gè)指定進(jìn)程組中的任何子進(jìn)程,這個(gè)進(jìn)程組的ID等于pid的絕對(duì)值。 |
* 參數(shù)status如果不是一個(gè)空指針,則終止進(jìn)程的終止?fàn)顟B(tài)就存放在status所指向的單元。
* 參數(shù)status如果是一個(gè)空指針,則表示父進(jìn)程不關(guān)心子進(jìn)程的終止?fàn)顟B(tài)
option
| WUNTRACED | 返回終止子進(jìn)程信息和因信號(hào)停止的子進(jìn)程信息 |
| WCONTINUED | 返回收到SIGCONT信號(hào)而恢復(fù)執(zhí)行的已停止子進(jìn)程狀態(tài)信息 |
返回值:
| 失敗 | 返回-1 |
| WNOHANG | 沒有子進(jìn)程退出返回0 |
總結(jié)
以上是生活随笔為你收集整理的wait()和waitpid()的参数解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我好久没进去玩了!再进去时什么坦克都没了
- 下一篇: 不孕症照影术能治好吗