僵尸进程和孤儿进程的代码实现

xiaoxiao2021-02-28  32

僵尸进程:

        子进程退出,父进程还在运行,但父进程没有读取子进程状态,子进程进入z状态。

#include<stdio.h> #include<stdlib.h> int main(){ pid_t id = fork(): if(id < 0){ perror("fork"); return 1; } else if(id > 0){ printf("parent [%d] is sleeping\n",getppid()); sleep(5); } else{ printf("child [%d] is begining\n",getpid()); sleep(2); exit(1); } return 0; }

孤儿进程:

       父进程提前退出,子进程就被称为“孤儿进程”。

  孤儿进程被1号init进程领养,由init进程回收。

#include<stdio.h> #include<unistd.h> #include<stdlib.h> int main(){ pid_t id = fork(); if(id < 0){ perror("fork"); return 1; } else if(id == 0){ printf("child pid : %d\n",getpid()); sleep(5); } else{ printf("parent pid ; %d\n",getppid()); sleep(2); exit(0); } return 0; }

        

转载请注明原文地址: https://www.6miu.com/read-2620359.html

最新回复(0)