1
부모 프로세스가 종료되면 자식 프로세스가 고아 프로세스가되었음을 증명해야합니다. 그러나 부모가 종료되자 마자 그 자식은 루트 프로세스에 의해 채택됩니다. 그렇다면 어떻게 고아임을 증명합니까?시스템 ("ps -l") 명령을 통해 고아 프로세스를 어떻게 시연합니까?
부모 프로세스가 종료되면 자식 프로세스가 고아 프로세스가되었음을 증명해야합니다. 그러나 부모가 종료되자 마자 그 자식은 루트 프로세스에 의해 채택됩니다. 그렇다면 어떻게 고아임을 증명합니까?시스템 ("ps -l") 명령을 통해 고아 프로세스를 어떻게 시연합니까?
당신은 이런 식으로 표시 할 수 있습니다 : Hello from Parent!
과정 a.out
에서 여기
#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;
}
을 PID 4854으로는 PID 4855 (3 선)와 아이를 만듭니다. Hello from Child!
에있는이 하위 프로세스는 PID 1412 인 프로세스 (PID 4854 (두 번째 줄)로 처리하는 대신)가 소유합니다. 따라서 자식 프로세스는 프로세스에 의해 PID 1412으로 채택됩니다.