PersesTitan(페르) 기술블로그

프로세스 정리 본문

기타

프로세스 정리

PersesTitan(페르) 2023. 6. 7. 11:21

PID

Process Identification Number
프로세스에 붙는 고유 번호

init 프로세스 (초기화 프로세스)

부팅시에 처음에 실행되는 프로세스 (PID는 1)

프로세스 종류

데몬 프로세스

서비스를 제공하기 위해서 존재하는 프로세스로 커널에 의해서 실행되며, 기본적으로 백그라운드에서 동작을 합니다.

init 프로세스도 여기에 해당됩니다.

부모 프로세스

다른 프로세스를 생성하는 프로세스로 처음 실행되는 init프로세스를 제외한 모든 프로세스는 부모 프로세스를 가지고 있는 자식 프로세스 입니다.

사실상 init프로세스는 모든 프로세스의 시초이다.

자식 프로세스

부모 프로세스가 생성한 프로세스입니다.

사람처럼 부, 모 2명 이렇게 필요없기 때문에 프로세스 혼자서 자식 프로세스를 생성할 수 있는데 비유하자면 프로세스는 자웅동체이다. (!!)

고아 프로세스

자식 프로세스가 실행되고 있지만 생성한 부모 프로세스가 종료되었을때 자식 프로세스는 고아 프로세스가 됩니다.
고아 프로세스가 되면 init프로세스가 부모프로세스가 됩니다.
이후 init프로세스는 고아 프로세스를 종료 시키게 됩니다.

부모를 잃은 자식은 시초가 부모가 되고, 시초는 입양 온 아이를 죽이게 되는...(?) 무서운 프로세스의 세계 ㄷㄷ

좀비 프로세스

자식 프로세스가 부모 프로세스에 종료 요청을 하여 실행을 종료한 자식 프로세스를 부모 프로세스가 제거해주어야 하지만 제거되지 않고 남겨져있는 상태를 말합니다.

  • 부모 프로세스가 자식프로세스를 제거하지 않고 있는 상황이기 때문에 부모 프로세스가 제거하도록 유도하면 좀비 프로세스 제거가 가능함
  • 부모 프로세스를 죽여서 init프로세스에서 좀비 프로세스를 제거하게 만들어 주시면 됩니다.

이건 비유하기 무섭...