linux的僵尸进程和孤儿进程

1 僵尸进程:

   子进程已经退出勒 但是还没有回收资源的进程为僵尸进程

代码验证

  

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <unistd.h>
 4 
 5 int main()
 6 {    
 7     pid_t pid;
 8     if((pid=fork())==-1)
 9     {
10         perror("fork error");
11         
12     }else if(pid==0){
13         printf("child pid=%d
",getpid());
14         exit(0);
15     }
16     sleep(3);
17     system("ps");
18     exit(0);
19     return 1;
20 }

2 孤儿进程:

   父亲进程先退出而导致一个子进程被init进程收养的进程为孤儿进程

代码验证

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <unistd.h>
 4 
 5 int main()
 6 {    
 7     pid_t pid;
 8     if((pid=fork())==-1)
 9     {
10         perror("fork error");
11         
12     }else if(pid==0){
13         printf("pid=%d,ppid=%d
",getpid(),getppid());
14         sleep(3);//子进程休眠 让父进程先结束
15         printf("pid=%d,ppid=%d
",getpid(),getppid());
16     }else{
17         exit(0);
18     }
19     return 1;
20 }

  

原文地址:https://www.cnblogs.com/lanjianhappy/p/6885037.html