[프로세스]
현재 시스템에서 실행 중인 프로그램을 뜻함.
사용자가 사용한 명령도 프로세스가 되어 실행되는데,
시스템에는 사용자가 실행한 프로세스 외에도 사용자 관리, 메모리 관리, 네트워크 접속 관리 등
다양한 기능을 수행하는 많은 프로세스가 실행되고 있다.
[프로세스의 번호]
각 프로레스는 고유한 번호를 가지고 있고 이를 PID(process identification number)라 부른다.
PID는 1번부터 시작하고 프로세스가 실행되면서 하나씩 증가하여 부여되는데,
우분투에서 PID 1번은 init 프로세스가 실행되며, 2번은 kthreadd 프로세스가 실행된다.
init 프로세스는 나머지 모든 시스템 프로세스의 부모 프로세스가 되고,
kthreadd 프로세스는 모든 스레드의 부모 프로세스가 된다.
[프로세스 목록 보기 : ps]
ps : 현재 셸이나 터미널에서 실행한 사용자 프로세스의 정보를 출력
- 출력정보 PID : 프로세스 번호
- 출력정보 TTY : 현재 터미널 번호
- 출력정보 TIME : 해당 프로세스가 사용한 CPU 시간의 양
- 출력정보 CMD : 프로세스가 실행 중인 명령
ps au : 터미널에서 실행한 프로세스의 상세 정보 출력
- 출력정보 USER : 사용자 계정 이름
- 출력정보 PID : 프로세스 번호
- 출력정보 %CPU : CPU 사용량을 퍼센트로 표시
- 출력정보 %MEM : 물리적 메모리 사용량을 퍼센트로 표시
- 출력정보 VSZ : 사용하고 있는 가상 메모리 크기(KB)
- 출력정보 RSS : 사용하고 있는 물리적 메모리의 크기(KB)
- 출력정보 TTY : 터미널 번호
- 출력정보 STAT : 프로세스의 상태(필요하면 상태 나타내는 주요 문자의 의미 정리)
- 출력정보 START : 프로세스 시작 시간
- 출력정보 TIME : 해당 프로세스의 CPU 사용 시간
- 출력정보 COMMAND : 프로세스가 실행 중인 명령
ps ax | more : 시스템에서 실행 중인 모든 프로세스 출력(너무 많아 프로세스 목록을 제대로 확인하기 힘드므로, more 명령 함께 사용)
ps aux | more : 시스템에서 실행 중인 모든 프로세스의 자세한 정보 출력
ps -fu user : 특정 사용자(여기선 user)가 실행한 프로세스의 목록 확인
-출력정보 PPID : 부모 프로세스의 PID 번호
-출력정보 C : CPU 사용량(% 값)
-출력정보 STIME : 프로세스의 시작 날짜나 시간
[특정 프로세스 정보 검색하기]
ps -ef | grep 명령 : ps명령을 통한 특정 프로세스 정보 검색. 사용 예) ps -ef | grep bash (배시 셸에 대한 정보 검색)
ps -fp $(pgrep -x 명령) : pgrep 명령을 이용해 특정 프로세스 정보 검색 (pgrep로 검색하려는 프로세스의 PID를 찾아 ps 명령으로 자세한 정보를 확인)
[프로세스 종료하기]
kill PID : 15번 시그널을 프로세스에 보내 프로세스를 종료한다. (15번 시그널은 프로세스를 종료하라는 신호)