Nar*_*uto 7 c unix ubuntu wait
我正在阅读wait()Unix系统书中的函数.这本书包含一个程序wait(NULL).我不明白这意味着什么.在其他程序中有
while(wait(NULL)>0)
Run Code Online (Sandbox Code Playgroud)
......这也让我抓狂了头.
任何人都能解释一下上面的功能是做什么的吗?
iab*_*der 21
男子等(2)
所有这些系统调用都用于等待调用进程的子进程中的状态更改,并获取有关状态已更改的子进程的信息.国家变更被认为是:儿童被终止; 孩子被一个信号拦住了; 或者孩子被信号恢复了
因此,wait()允许进程等待其子进程之一更改其状态,例如存在.如果waitpid()使用进程ID调用它,则等待该特定子进程更改其状态,如果pid未指定,则它等同于调用wait(),并等待任何子进程更改其状态.
该wait()函数在成功时返回子pid,所以当它在这样的循环中调用时:
while(wait(NULL)>0)
Run Code Online (Sandbox Code Playgroud)
这意味着要等到所有子进程退出(或更改状态)并且不再需要等待子进程(或直到发生错误)
| 归档时间: |
|
| 查看次数: |
51866 次 |
| 最近记录: |