99问答网
所有问题
linux中的wait函数,是等待某一个子进程退出,还是所有子进程都退出啊。
这里还有条语句是
for(;wait((int*)0)>0;);
这条语句为什么要有个for循环啊
搞不明白了
举报该问题
推荐答案 2011-01-10
这里的for循环的作用就是等到退出成功才往下运行,否则一直在等待;
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/vWeeeBOvt.html
其他回答
第1个回答 2011-01-10
等价于waitpid(-1, (int *)0, 0),看手册应该是等待指子进程结束。
参考资料:
http://linux.die.net/man/2/wait
第2个回答 2019-05-07
应该是只等待一个进程结束。
相似回答
...
等待所有子进程退出,
而不
是等待
第
一个子进程退出
.希望能给出代码片...
答:
linux中的wait函数等到一个子进程退出就会返回
,恢复到执行状态。要想等所有子进程退出可以用waitpid函数 pid_t wait(pid_t pid,int * status,int options);pid>0时,只等待pid与该参数相同的子进程,如果该子进程一直没有退出,那么父进程会一直阻塞;pid=0时,会等待同一个进程组的子进程,若子...
linux
下关于的fork()问题
答:
从1可以看出,
wait函数的功能不是阻止子进程退出,而是等待子进程退出时进行子进程资源回收
,在子进程退出之前,阻塞父进程退出。上例中,子进程只有一行printf输出代码,执行完后就自动退出了。如果要保持子进程不退出,必须在子进程内(本例是在if条件内)使用循环等方法控制,保持子进程不跳出if循环。当...
linux等待进程
结束linux等待进程
答:
可以用wait()或者waitpid()阻塞父进程,
等待子进程自己退出后给子进程收尸
;或者在子进程中注册一个信号响应,响应动作为退出进程,然后在父进程要退出时,给子进程发送信号,然后等待子进程退出后收尸。相关API:wait()signal()exit()linuxwaitpid函数?waitpid函数 作用同wait,但可指定pid进程清理,可以...
wait
和sleep的区别
答:
wait函数在Linux/Unix操作系统中常用于子进程管理。
程序在调用fork函数创建子进程之后,使用wait函数来等待子进程的退出
,以确保不会出现僵尸进程。wait函数本质上是一个阻塞函数,即程序在等待子进程终止或信号中断时,会一直卡在wait函数中,直到子进程结束或被中断才继续向下执行。程序无法进行其他操作,CPU...
linux里面的wait
和waitpid是什么?
答:
#include <sys/wait.h>
wait函数
原型:pid_t wait(int *status);进程一旦调用了 wait,就立即阻塞自己,由wait自动分析是否当前
进程的某
个子进程已经
退出,
如果让它找到了这样一个已经变成僵尸
的子进程,
wait就会收集这个
子 进程
的信息,并把它彻底销毁后返回;如果没有找到这样
一个子进程,
wait就会一直阻塞在这里,直到有...
怎样截获
linux
内核导出
的函数
答:
int wait(int *status)函数功能是:父进程一旦调用了wait就立即阻塞自己,由wait自动分析是否当前
进程的某
个子进程已经
退出,
如果让它找到了这样一个已经变成僵尸
的子进程,wait
就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到这样
一个子进程,wait
就会一直阻塞在这里,直到有一个出现为止。...
LINUX里,
父
进程退出
了
,子进程
一定会退出吗?
答:
若父
进程退出,子进程
尚未结束,则子进程会被init进程领养,也就是说init进程将成为该子进程的父进程。若希望父进程退出,子进程也退出的话,可以使用线程,因为若进程结束,则还没结束的线程一定会立刻结束。或者如楼上所说,用信号,用atexit注册
一个退出
时执行
的函数,
这个函数中发送信号给子进程即可...
在
linux中
如何结束由
一个
父进程产生
的所有子进程
答:
(1) 父进程通过
wait
和waitpid等
函数等待子进程
结束,这会导致父进程挂起。(2) 如果父进程很忙,那么可以用signal函数为SIGCHLD安装handler,因为子进程结束后, 父 进程会收到该信号,可以在handler中调用wait回收。(3) 如果父进程不关心子进程什么时候结束,那么可以用signal(SIGCHLD, SIG_IGN) 通知内...
Linux进程
和线程的基础与管理
答:
如果一个客户机要访问Web服务器,需要发送一个请求,此时由服务器生成一个父进程,然后父进程通过fork()系统调用产生
一个子进程,
此时客户机的请求由子进程完成。父进程可以再度回到等待状态不断服务其他客户端。原理如下图所示。 有一个更简单的执行其他程序
的函数
system,参数string传递给一个命令解释器(一般为sh)执行,...
大家正在搜
相关问题
Linux 如何使用`wait`等待所有子进程退出,而不是等...
Linux API 中的wait函数能不能等待子进程的子进程...
在Linux中,用fork函数产生一个新的子进程,子进程结束...
在Linux中,用fork函数产生一个新的子进程,子进程结束...
在 linux中如何结束由一个父进程产生的所有子进程
LINUX里,父进程退出了,子进程一定会退出吗?
linux如何等待一个非子进程退出
linux里面的父进程等待子进程问题..