#include <sys/types.h>
#include <sys/wait.h>
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
int main(void)
{
pid_t pid;
if((pid=fork())<0) //创建子进程失败
{
perror("创建子进程失败.\n"); //创建子进程失败
exit(0);
}
else if(pid==0) //进入子进程
{
if((pid=fork())<0) //在子进程中继续创建一个子进程
{
perror("创建子进程失败.\n");
exit(0);
}
else if(pid>0) //当前创建子进程的父进程,即第一个子进程
{
exit(0); //退出第一个子进程
}
else
{
sleep(2); //休眠2秒
printf("这是第二个子进程, parent pid=%d \n", getppid());
exit(0);
}
}
if(waitpid(pid, NULL, 0)!=pid) //判断到底是那个进程退出了
{
perror("waitpid销毁进程失败.\n");
exit(0);
}
exit(0);
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。