我需要证明子进程在其父进程终止时已成为孤立进程。但是一旦父进程终止,子进程就会采用子进程。那么我如何证明它是一个孤儿?
答案 0 :(得分:0)
您可以这样显示:
#include<sys/types.h>
#include<unistd.h>
#include<bits/stdc++.h>
using namespace std;
int main()
{
if (fork()==0){
sleep(2);
printf("\nHello from Child!\n");
}
else{
//sleep(1);
printf("Hello from Parent!\n");
}
system("ps -l");
printf("\n");
return 0;
}
此处,在Hello from Parent!
中,带有 PID 4854 的流程a.out
会创建一个 PID 4855 (第3行)的子项。 Hello from Child!
中的此子进程由 PID 1412 (而不是使用 PID 4854 (第2行)处理)进程拥有。因此,进程采用子进程 PID 1412 。