温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

[Linux进程]使用waitpid函数退出进程

发布时间:2020-08-03 05:22:32 来源:网络 阅读:1017 作者:银河星君 栏目:编程语言
#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);
}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI