0
프로세스 트리를 만들려고하는데, 지금 내 결과물은 다음과 같습니다. https://gyazo.com/a71f4e095b69080a6d6a11edd2c0df27 문제는 제가 오른쪽에 그린 다이어그램처럼 보이게하고 싶습니다.하지만 할 수 있습니다. 어떻게 생각하는지 모르겠다. 나는 각각의 자식 프로세스 부모 ID를 출력하고 나서 2, 1 (SIGKILL 시그널을 5 초 후에 보낸다)로 시작하여 삭제할 것이다. 프로세스 트리를 원하는 결과처럼 보이게하려면 어떻게해야합니까? 내 코드는 다음과 같습니다.C 프로세스 트리 생성에 대한 도움말
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int main()
{
int root, t1, t2, i;
root = getpid();
printf("root %d\n", root);
for (i = 1; i < 3; i++)
{
t1 = fork();
//printf("%d\n", t1);
if(t1!=0)
{
t2 = fork();
}
if (t1 !=0 && t2 != 0)
{
break;
}
printf("child pid %d parent pid %d\n", getpid(), getppid());
}
sleep(10);
return 0;
}
고마워요!
그리고 맨 아래에서 삭제하려면 (2의 하위 프로세스를 모두 삭제 한 다음 1을 삭제하십시오) 어떻게 처리합니까? 나는 SIGKILL을 사용할 것인가? 나는 SIGKILL을 두 번 실행하려고 시도했으나 한 번만 "죽임"을 인쇄 한 다음 프로그램을 종료하고 원하는 내용을 확인하는 방법을 모르겠습니다. –