인프런 커뮤니티 질문&답변

워니냥님의 프로필 이미지
워니냥

작성한 질문수

그림으로 쉽게 배우는 운영체제

프로세스 생성과 종료

부모 프로세스는 프로그램을 실행하지 않아도 생기는 건가요?

해결된 질문

작성

·

324

·

수정됨

1

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

인터넷 검색해도 정확히 써져있지 않거나, 좀 애매모호하거나 제가 이해한 것이 맞는 지 궁금해서 여쭤봅니다.

1) 부모프로세스는 부팅후에 운영체제에서 바로 만드는 프로세스인가요?

2) 아니면 첫 프로그램을 실행했을 때, 프로세스가 되면서 그 프로세스가 부모 프로세스가 되는 건가요?!

3) 둘 다 아니면, 부모 프로세스는 fork()함수가 불러지면서 만들어지는걸까요??

1번 경우에는 그럼, 자식프로세스보다 먼저 죽는 경우는 왜 생기는 건가요??!

 

답변 1

0

감자님의 프로필 이미지
감자
지식공유자

안녕하세요 워니냥님.
이 글을 참조해주세요!

워니냥님의 프로필 이미지
워니냥
질문자

감자님 답변감사합니다! 궁금증이 해결되었습니다.
그렇다면 데몬프로세스는 init 프로세스의 자식이면서 유일하게 pid가 1인( > 0) 자식프로세스인가요? 데몬도 부팅시에 자동으로 켜진다고해서 약간 헷갈려서 질문여쭙니다! init -> 커널스레드데몬 -> 데몬 -> 그이후에 실행되는 프로그램들 ... 이런 구조로 넘어가나요?

감자님의 프로필 이미지
감자
지식공유자

맞습니다.
데몬 프로세스는 모두 init 프로세스의 자식 프로세스이고 pid가 1이상으로 모두 겹치지 않은 유일한 번호입니다.
부팅되면 init프로세스를 복사해 inetd, httpd, nfsd, sshd, named, lpd등 많은 데몬 프로세스가 생성됩니다.
그리고 사용자 프로세스는 이런 데몬 프로세스를 복사해 생성됩니다.😁

워니냥님의 프로필 이미지
워니냥

작성한 질문수

질문하기