当前位置: 技术问答>linux和unix
linux下如何等待进程结束?
来源: 互联网 发布时间:2015-03-25
本文导语: wait和waitpid是不是只能用在子进程上?? | wait和waitpid在父进程中调用,用于回收子进程资源,子进程死时会向父进程发 送信号SIGCHLD,父进程可以在收到这个信号处理时处理回收子进程,具体...
wait和waitpid是不是只能用在子进程上??
|
wait和waitpid在父进程中调用,用于回收子进程资源,子进程死时会向父进程发
送信号SIGCHLD,父进程可以在收到这个信号处理时处理回收子进程,具体做法如下
先定义进程收到信号SIGCHLD陷入处理的函数
static void sig_child(int signo)
{
pid_t pid;
int stat,ii;
while((pid=waitpid(-1,&stat,WNOHANG))>0);
return;
}
然后在子进程开始出调用signal(SIGCHLD,sig_child)
送信号SIGCHLD,父进程可以在收到这个信号处理时处理回收子进程,具体做法如下
先定义进程收到信号SIGCHLD陷入处理的函数
static void sig_child(int signo)
{
pid_t pid;
int stat,ii;
while((pid=waitpid(-1,&stat,WNOHANG))>0);
return;
}
然后在子进程开始出调用signal(SIGCHLD,sig_child)
|
如果知道pid,从/proc下抽取
|
up