23,118
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>/*fork()函数所在的头文件*/
#include <errno.h>
#include <dirent.h>
#include <setjmp.h>
#include<sys/resource.h>
#include<signal.h>
int i;
static void pri(int signo)
{
pid_t pid;
int status;
while( (pid = wait(&status))>0 )
printf("recevied sigchld,i = %d,pid = %d,status=%d\n",i,pid,status);
}
int main(int argc,char *argv[])
{
char c = 0;
pid_t pid;
signal(SIGCHLD,pri);
for(i=0;i<10;i++)
{
pid = fork();
if(pid==0)//child
{
exit(0);
}
else
{
printf("parent running,i=%d\n",i);
}
}
}