[Linux] Process States
- Linux
- 2021. 3. 28.
이번 글에서는 Linux 의 Process States 에 대해 알아보겠습니다.
1. Process States
process state 는 각 process 의 현재 동작 상태를 의미합니다.
하나의 process는 실행되고 종료되기까지의 life cycle 동안.. 여러번 동작 상태가 변경됩니다.
processor 부하, memory 사용 가능량, process 우선 순위 등등의 영향도에 따라서 얼마나 자주 process 의 states 가 변경될지가 정해지게 됩니다.
이때 process 는 다른 process 에게 전달받아야하는 정보를 기다리는 동안에 non-running states 로 변경될 수도 있습니다.
process 의 states 는 top 명령어로 확인할 수 있습니다.
top
이러한 process 의 states 에는 기본적으로 아래의 5가지 상태가 존재합니다.
1) Running (R)
2) Sleeping (S)
3) Waiting (W)
4) Stopped (S)
5) Zombie (Z)
1-1) Running
running state 는 일반적으로 알고 있는.. process 가 동작하고 있는 상태입니다.
1-2) Sleeping
sleeping state 는 process 가 사용자 혹은 다른 process 로 부터 input 을 입력받기 위해 대기하고 있는 상태입니다.
1-3) Waiting
waiting state 는 sleeping state 에서 input 을 입력받아 running 가능한 상태이지만.. 아직 cpu 에게 선택받지 못해 본인의 turn 을 기다리고 있는 상태입니다.
1-4) Stopped
stopped state 는 일반적으로 알고 있는 process 가 멈춘 상태입니다.
stopped 상태의 process 는 cpu 에게 turn 을 넘겨받더라도 실행되지 않으며. 이를 실행하기 위해서는 state 를 변경하는 signal 을 입력받아야 합니다.
1-5) Zombie
zombie state 는 죽은 process 입니다.
process table 목록에는 존재하지만 실제론 어떠한 resource 도 사용하지 않습니다.
zombie process 는 parent process 가 허락할 때 까지 process entry 에 존재하게 됩니다.
'Linux' 카테고리의 다른 글
[Linux] Signal (0) | 2021.03.30 |
---|---|
[Linux] Nice & Renice (0) | 2021.03.29 |
[Linux] Ping (0) | 2021.03.27 |
[Linux] DMIDECODE (System Management BIOS) (0) | 2021.03.13 |
[Linux] UNAME (System Information) (0) | 2021.03.13 |