문제
다음 상황과 가장 관련 있는 용어로 알맞은 것은?
프로세스 A가 프로세스 B를 실행시킨 상태이다. 프로세스 B의 PPID(Parent Process Identity)를 조회해보니 프로세스 A의 PID(Process Identity)이다.
① fork ② exec ③ signal ④ daemon
정답
1번
해설
정답: 1. fork 는 부모 프로세스가 자신을 복제해 자식 프로세스를 생성하는 방식이다. 이때 자식(B)의 PPID는 부모(A)의 PID가 되므로, 설명과 일치하는 용어는 fork 이다.
오답 풀이
- 1번: 부모-자식 관계(자식의 PPID = 부모의 PID)를 만드는 것은 fork 로 옳다.
- 2번: exec 는 새 프로세스를 만들지 않고 현재 프로세스 이미지를 다른 프로그램으로 덮어쓰는 방식이다.
- 3번: signal 은 프로세스 간 비동기 통지(시그널 전달) 메커니즘이다.
- 4번: daemon 은 백그라운드에서 상주 실행되는 서비스 프로세스를 가리킨다.
보충 개념 새 프로그램 실행은 보통 fork 로 자식을 만든 뒤 그 자식에서 exec 로 프로그램을 교체하는 'fork-exec' 패턴을 사용한다. fork 는 부모를 복제, exec 는 현재 프로세스를 대체한다.