Linux进程实验~

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <sys/types.h>

int main()
{
pid_t child;
int status,a; //status表示子进程状态,a表示是否创建子进程
printf("Do you want to create a new child process?(1:yes,2:no)");
scanf("%d",&a);
if(a == 1)
  {
  child = fork(); //创建child进程
  if(child == -1) //创建失败
    {
    perror("fork error");exit(1);
    }
  }
  if(child == 0) //创建成功
  {
  puts("This is child process...");
  printf("child process pid = %d\n",getpid()); //显示子进程PID
  printf("child process ppid = %d\n",getppid()); //显示父进程PID
  exit(0);
  }
  else //父进程
  {
  waitpid(child,&status,0); //等待child进程结束
  puts("This is parent process...");
  printf("parent process pid = %d\n",getpid()); //显示子进程PID
  printf("parent process ppid = %d\n",getppid()); //显示父进程PID
  printf("child process leaving status: %d\n",WIFEXITED(status));
  exit(0);
  }
}

<script type="text/javascript" id="wumiiRelatedItems"> </script>
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值