엔지니어 은성의 성장록

[프로세스] Linux 프로세스(Process) 개념 요점 정리 본문

서버/리눅스 기초

[프로세스] Linux 프로세스(Process) 개념 요점 정리

엔지니어 은성 2021. 9. 14. 15:35

▶ 프로세스 

- 실행 중인 상태의 프로그램

- 리눅스 최초의 프로세스는 init 프로세스 /sbin/init

- 부팅할 때 init프로세스를 만들고 -> login 프로세스 생성 -> login 프롬프트 보여주고 사용자의 로그인 입력 처리

- 로그인이 성공하면 login 프로세스는 쉘 프로세스를 생성한다.

- 쉘 프로세스는 쉘 프롬프트를 보여주고 사용자 입력을 처리한다. -> 사용자가 프로그램 입력을 입력하면 쉘 프로세스는 프로그램을 실행한다.

 


▶ 부모 프로세스, 자식 프로세스 

- 자신을 만든 프로세스 : 부모 프로세스 

- 자신이 마든 프로세스 : 자식 프로세스

 


▶ 프로세스 시분할 시스템, 우선순위

- 여러 프로세스가 메모리에 적재되어 수행될 수 있으며, 작은 시간 동안 차례대로 수행되는데 사람이 보기에는 동시에 실행되는 것처럼 보입니다.

- 우선순위가 높으면 먼저 수행됩니다. 오랫동안 수행된 프로세스는 우선순위가 낮아지고 오랫동안 수행되지 않은 프로세스는 우선순위가 높아집니다.


▶ ps 명령어

- 프로세스 정보를 알 수 있습니다.

옵션 

  • -a : 모든 프로세스 출력 
  • a : 현재 terminal의 프로세스 출력
  • -e : terminal과 관계없이 모든 프로세스 출력
  • x : 모든 프로세스 출력 
  • -f : full listing
  • -o : user-defined format
  • cmd -> 사용 명령어

ps 명령어 실행결과

▶ ps -af

PPID : 부모 프로세스 ID,  STIME은 프로세스 시작시간 

 


▶ ps 명령어 옵션

  • ps -e :  시스템의 모든 프로세스 정보를 표준 형식으로 출력
  • ps -C syslogd :프로세스 syslogd만 출력 
  • ps -lC syslogd :프로세스 syslogd의 정보를 long format으로 출력
  • ps -C syslogd -o pid : 프로세스 syslogd의 PID만 출력
  • ps -eo pid, cmd  : 프로세스의 cmd와 PID만 출력

 


▶ top 

- 실시간 프로세스 정보를 보여줍니다. cpu 사용률, 스왑 메모리 사용 현황, 프로세스 실행 현황을 5초 간격으로 한 번씩 보여줍니다.

 


▶ sar (system activity reporter) 

- 명령어 sar :  실시간으로 프로세스의 정보를 보여준다.

- 사용법 sar 옵션 interval 출력할 횟수

- 옵션 정리  옵션이 없을 때는 -u 옵션을 적용

  • sar -A : 모든 관련 정보를 출력한다.
  • sar -b : 버퍼의 액티비티를 점검, I/O와 transfer의 통계를 백분율로 출력한다.
  • sar -B : 페이징 통계를 출력한다.
  • sar -c : 새롭게 만들어져 활동하고 있는 프로세스를 출력한다.
  • sar -n : DEV | EDEV | SOCK | FULL : 네트워크 통계를 출력한다.
  • sar -q : 실행 대기 큐에 있는 프로세스 점검, 시스템의 load average를 출력한다.
  • sar -r : 가용 메모리 점검, 메모리, Swap 공간의 이용 통계를 출력한다.
  • sar -u : CPU 사용 통계
  • sar -v : 커널 테이블 & 파일에서 inode의 상태를 출력한다.
  • sar -w : 시스템의 switchig 활동 현황 출력
  • sar -W : swapping의 통계 출력

 

Comments