1
我有一个接收到SIGTSTP信号的子进程。 当我打电话在停止的作业上执行waitpid块吗?
waitpid(-1,NULL,0);
父块,但在文档中,它写道,waitpid函数与PID已停止工作的回报。
#include<unistd.h>
#include<stdio.h>
#include<signal.h>
#include<sys/wait.h>
main() {
int pid;
if((pid=fork()) > 0) {
sleep(5);
if(kill(pid,SIGTSTP) < 0)
printf("kill error\n");
int status;
waitpid(-1,&status,0);
printf("Returned %d\n",WIFSTOPPED(status));
}
else if(pid==0) {
while(1);
}
}
非常感谢你的回答。我应该正确阅读文档。我在我的大型项目中浪费了两个小时来寻找其他错误。 – avd 2009-10-03 17:28:54