[Linux] 프로세스 목록
ps [옵션] (process status): 실행중인 프로세스 목록 출력
- 옵션을 생략시 현재 터미널에서 실행된 프로세스 목록출력
- 일시 중지된 프로세스뿐만 아니라 백그라운드로 실행중인 프로세스까지 모두 출력
[옵션]
a : 다른 사용자,시스템에 로그인한 모든 사용자의 프로세스 출력
u : 현재 사용자의 모든 프로세스를 사용자ID와 함께 출력
x : 제어터미널이 없는 프로세스 출력
aux : 시스템에서 실행중인 모든 프로세스 출력
kill [옵션(신호)] PID : 프로세스를 종료시키거나 , 신호를 보냄
- 현재 실행 중인 프로세스에게 신호를 보내서, 신호의 기능에 따라 프로세스를 강제종료 또는 재시작 등 여러 기능을 수행
[옵션]
- l (--list):신호의 종류를 나열
-SIGKILL, -9 : 프로세스 강제종료
-SIGTERM, -15 : 프로세스 정상종료(디폴트 값)
-SIGCONT, -18 : 일시중지 되었던 프로세스 다시 시작
-SIGSTOP, -19: 무조건 일시 중지
-SIGTSTP, 20: 터미널로부터 키 입력에 의한 일시중지 (Ctrl+Z)
-SIGHUP, -1 : 다시 시작하기,보통 데몬(daemon)프로세스 재시작에 사용
-SIGINT, -2 : 프로세스에게 인터럽트 키(Ctrl + C) 신호를 보냄
-s : 지정한 신호를 프로세스에게 보낸다
killall [옵션] 명령어 : 여러프로세스,특정 프로세스를 종료시키거나 , 신호를 보냄
- 현재 실행 중인 프로세스에게 신호를 보내서, 신호의 기능에 따라 프로세스를 강제종료 또는 재시작 등 여러 기능을 수행한다는 점에서 kill 명령과 같지만
-이름으로 찾기, 사용자로 찾기, 시간 기준으로 찾기등 유용한 기능이 있음
[옵션]
-o : 지정한 시간 이전에 시작된 프로세스를 종료시킴 (단위는 s,m,h,d,w,M,y사용)
-n : PID와 같은 네임스페이스와 일치된 프로세스에 신호를 보냄. PID값이 0이면 모든 네임스페이스를 지정
-g : 프로세스 그룹에 신호를 보냄
-y : 지정한 시간 이후에 시작된 프로세스를 종료시킴
-u : 지정한 사용자의 프로세스들을 종료시킴
-i : 종료시키기 전에 확인함
-r : 정규 표현식과 일치하는 프로세스를 종료시킴
ex)
killall -o 20s sleep : 20초전에 실행된 sleep프로세스를 종료시킴
killall sleep : sleep프로세스를 모두 종료시킴

USER : 프로세스의 사용자 계정
UID : 프로세스의 사용자ID
PID : 프로세스 번호
PPID : 부모 프로세스 번호
%CPU: CPU사용량(%)
%MEM: 물리적 메모리 사용량(%)
VSZ : 사용중인 가상메모리 크기(KB)
RSS : 사용중인 물리메모리 크기(KB)
TTY : 프로세스가 실행된 터미널
STAT : 프로세스의 상태
R : 실행 중 또는 실행가능
S : 인터럽트 가능 대기상태 이벤트 완료를 기다리는 상태(interruptible sleep)
s : 세션 리더 프로세스
T : 작업제어 신호에 의해 정지된 상태(stopped0
Z : 좀비 프로세스(프로세스의 실행이 끝났지만, 부모 프로세스가 정상적으로 종료시키지
않아서 삭제되지 않은 프로세스
+ : 포그라운드 프로세스 그룹(forground process)
< : 높은 우선 순위
START : 프로세스의 시작시간
TIME : 프로세스 실행 시간
COMMAND : 실행 프로세스 명령
