linux学习之九---孤儿进程

来源:互联网 发布:淘宝双11运营计划表 编辑:程序博客网 时间:2024/04/27 18:38

孤儿进程:如果一个子进程的父进程先于子进程结束,子进程就成为一个孤儿进程,它由init进程(进程号为1)收养,成为init进程的子进程。

#include<stdio.h>#include<sys/types.h>#include<unistd.h>int main(){   pid_t pid;   pid=fork();   switch(pid)   {      case 0:        while(1)             {      printf("A background process,PID:%d ,ParentID:%d\n",getpid(),getppid());      sleep(3);             }      case -1:          perror("Process creation faild\n");          exit(-1);         default:      printf("I am parent process,my pid is %d\n",getpid());      exit(0);      }   return 0;}

运行结果:


结果分析:

调用fork函数后:
父进程先执行,打印出自己的ID号3161,然后就执行完毕了;
接着子进程开始执行,打印出自己的ID号3162,和父进程ID号3161;
接着因为父进程已经执行完,提前结束,所以此时子进程为孤儿进程,由init进程(进程号1)带养,所以打印出父进程ID为1.


0 0
原创粉丝点击