공부/Embedded

[Embedded Linux] 프로세스

래울 2024. 4. 2. 10:06

프로세스 : 실행된 프로그램을 의미, 프로그램이 실행되어 메모리에 적재(Load) 된 상태

 

PID: Process ID, 운영체제에서 프로세스를 식별하기 위해 프로세스에 부여하는 번호

PPID: Parent Process ID, 부모 프로세스의 PID

PGID: Process Group ID, 1 개 이상의 프로세스 그룹을 식별하기 위한 ID

SID: Session ID, 1개 이상의 프로세스 그룹의 그룹을 식별하기 위한 ID

 

 

리눅스 명령어

~$ ps -u : 유저가 실행한 프로세스 확인

~$ ps -ef : 모든 사용자들이 구동시킨 프로세스에 대해 Full Format

    * PID 1 은 커널로 리눅스 부팅 시 최초 실행되는 프로세스이다.

ps -ef

 

~$ pstree : 프로세스를 트리 구조로 확인
    * 최초 프로세스를 제외하고 모든 프로세스는 부모 프로세스에서 fork 를 통해 생성된다.

pstree

 

htop

htop : 모니터 프로세스 뷰어 & 프로세스 관리자, 프로세스 관리에 용이하다.
키보드/마우스 상호작용이 가능

 

~$ sudo apt install htop

~$ htop

 

 

 

리눅스의 Process State

- Running (R) : 실행 중, Runnable 또는 Running의 상태
- Sleeping (S) : 사용자 입력이나 다른 프로세스로 부터의 입력을 기다리는 상태
- Waiting (W) : sleeping 상태에서 벗어나 실행가능하지만, 아직 Running 하지 못한 프로세스
- Stopped (S) : 멈춘 프로세스
- Zombie (Z) : 죽은 프로세스