45 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\\n\",getpid());14 exit(0);15 }
16 sleep(3);
17 system(\"ps\");18 exit(0);19 return 1;20 }
2 孤⼉进程:
⽗亲进程先退出⽽导致⼀个⼦进程被init进程收养的进程为孤⼉进程代码验证
1 #include 2 #include 3 #include 45 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\\n\",getpid(),getppid());14 sleep(3);//⼦进程休眠 让⽗进程先结束
15 printf(\"pid=%d,ppid=%d\\n\",getpid(),getppid());16 }else{17 exit(0);18 }
19 return 1;20 }