프로세스는 현재 시스템에서 실행 중인 프로그램을 뜻한다. 리눅스는 다중 프로세스 시스템이므로 여러 개의 프로세스가 동시에 실행된다.
1. 프로세스의 부모 - 자식 관계
- 리눅스에서 모든 프로세스는 부모 - 자식 관계를 가지고 있다.
- 필요에 따라 부모 프로세스는 자식 프로세스를 생성한다.
- 리눅스를 부팅할 때 스케쥴러가 실행한 프로세스인 systemd, kthreadd 프로세스를 제외하면 모든 프로세스는 부모프로세스를 가지고 있다.
- 자식 프로세스는 할 일이 끝나면 부모 프로세스에 결과를 돌려주고 종료된다.
2. 프로세스의 번호
- 각 프로세스는 고유한 번호를 가지고 있는데 이를 PID라고 한다.
- PID는 1번부터 시작하고 프로세스가 실행되면서 하나씩 증가하여 부여된다.
3. 프로세스의 종류
- 리눅스의 프로세스 중 사용자가 실행한 일반적인 프로세스는 잠깐 실행되었다가 바로 종료된다.
- 아래는 일반적인 프로세스외에 프로세스 종류이다.
3-1. 데몬 프로세스
- 특정 서비스를 제공하기 위해 존재하며 리눅스 커널에 의해 실행된다.
- 평소에 대기 상태로 있다가 서비스 요청이 들어오면 서비스를 제공한다.
3-2. 고아 프로세스
- 자식 프로세스는 종료되면 부모프로세스로 돌아가지만 자식 프로세스가 아직 실행 중인데 부모 프로세스가 먼저 종료되면 고아 프로세스가 된다.
3-3. 좀비 프로세스
- 자식 프로세스는 종료될 때 부모 프로세스에 종료 정보를 보내고, 부모 프로세스가 이 정보를 받으면 자식 프로세스는 프로세스 테이블 목록에서 삭제되어야하지만 자식 프로세스가 실행을 종료했는데도 프로세스 테이블 목록에 남아 있는경우가 있는데 이러한 자식 프로세스를 좀비 프로세스라고 한다.
- 좀비 프로세스는 필요없는 용량을 차지한다.
'Linux' 카테고리의 다른 글
[Linux] 20. 포그라운드, 백그라운드 프로세스와 작업 제어 (0) | 2023.02.15 |
---|---|
[Linux] 19. 프로세스 관리 명령 (0) | 2023.02.15 |
[linux] Linux에서 apt update 안될 때 팁 및 각종 설치 (0) | 2023.02.14 |
[Linux] 17. 기본 및 특수 접근 권한 설정 (0) | 2023.02.10 |
[Linux] 16. 숫자를 이용한 파일 접근 권한 변경 (0) | 2023.02.10 |
댓글