process status, 현재 세션의 프로세스를 보여 준다
$ ps
PID TTY TIME CMD
5162 pts/0 00:00:00 bash
5619 pts/0 00:00:00 ps
PID
→ 프로세스 IDTTY
→ 터미널 IDTIME
→ CPU 점유 시간 누적값CMD
→ 프로세스 이름ps -e
ps -a
ps -f
ps -f
UID PID PPID C STIME TTY TIME CMD
user 5162 5152 0 13:42 pts/0 00:00:00 bash
user 5624 5162 0 15:06 pts/0 00:00:00 ps -f
UID
→ Username, User IDPPID
→ 부모 프로세스 IDC
→ CPU 사용량STIME
→ 프로세스 시작 시간ps -l
F
→ 프로세스 플래그S
→ 상태 코드PRI
→ 실시간 우선 순위NI
→ 나이스 우선 순위SZ
→ 사용되는 프로세스 코어 이미지 메모리의 크기C
→ CPU 누적 사용 수치 (사용 시간 / 전체 시간 %)이 외 ps -el
, ps -ef
, ps -ej
도 있다.
man ps
를 읽어 보자프로세스 죽이는거 아님
시그널
(continue, stop 등)을 전송하는 기능
kill -l
시그널
리스트 확인 가능시그널
SIGN
→ Hang Up, 연결이 끊어졌을 때 보내는 시그널
SIGINT
→ Interrupt, CTRL+C
누르면 발생
SIGQUIT
→ Quit할 때, CTRL+\
누르면 발생
SIGKILL
→ 강제로 프로세스 kill, (최후의 수단)
SIGGTERM
→ 프로세스 kill 해달라는 요청
SIGTSTP
→ Temporary Stop, CTRL+Z
누르면 발생
$ kill 13011 # 13011 프로세스에 SIGTERM 시그널 전송
$ kill -QUIT 13013 # 13013 프로세스에 SIGQUIT 시그널 전송
$ kill -9 13012 ## 13012 프로세스에 9번 시그널(SIGKILL) 전송
현재 session
에서 제어 터미널을 가진 프로세스
fore-ground process
session
에서 제어 터미널을 가진
프로세스back-ground process
session
에서 제어 터미널을 잃은
프로세스멀티 유저 시스템에서 통신 객체(seat or remote)를 구별하기 위함
SID == PID
인 프로세스를 Session Leader
라고 부른다session
은 프로세스를 누가 실행했는지 이런 정보를 알 수 가 있다.사용자의 제어를 받는 터미널 장치
제어 터미널을 소유한 프로세스
= fore-ground process
+키보드 입력 가능
ps -e | less
를 입력했을 때, Session
이 제어 터미널
을 가지지 않는 경우 TTY
에 ?
로 표시된다.
Process group leader == PID
시그널
전파 기능kill
에서 음수
의 PID
= 프로세스 그룹
에 시그널
전파