ps 명령에서 특정 프로세스의 정보를 검색하려면 | 를 사용하여 검색한다.
ps -ef | grep 명령 의 형태로 연결해서 사용한다.
예를들어, bash 셸에 대한 정보를 검색했다고 하면,
ps -ef | grep bash 를 입력해주면 된다.
ps 와 grep 을 하나로 통합하여 만든 명령이라고 생각할 수 있는 pgrep 이 있다.
pgrep
- 기능: 지정한 패턴과 일치하는 프로세스의 정보를 출력한다.
- 형식: pgrep [옵션] 패턴
- 옵션: -x : 패턴과 정확히 일치하는 프로세스의 정보를 출력한다.
-n : 패턴을 포함하고 있는 가장 최근 프로세스의 정보를 출력한다.
-u 사용자명: 특정 사용자에 대한 모든 프로세스를 출력한다.
-l: PID 와 프로세스 이름을 출력한다.
-t term : 특정 단말기와 관련된 프로세스의 정보를 출력한다.
시그널
프로세스에 무언가 발생했음을 알리는 간단한 메시지이다. 이 메시지에는 무엇이 발생했는지 나타내는 미리 정의된 상수를 사용한다. 시그널은 번호로 구분되며 이름을 가지고 있다. 시그널을 받은 프로세스는 기본적으로 종료된다.
kill -l 명령을 이용하면 시그널의 목록을 볼 수 있다.
시그널 | 번호 | 기본 처리 | 의미 |
SIGHUP | 1 | 종료 | 터미널과 연결이 끊어졌을 때 발생 |
SIGINT | 2 | 종료 | 인터럽트로 사용자가 ctrl + c 입력하면 발생 |
SIGQUIT | 3 | 종료, 코어덤프 | 종로 신호로 사용자가 ctrl + \ 을 입력하면 발생 |
SIGKILL | 9 | 종료 | 이 시그널을 받은 프로세스는 무시할 수 없으며 강제 종료 |
SIGALRM | 14 | 종료 | 알람에 의해 발생 |
SIGTERM | 15 | 종료 | kill 명령이 보낸내는 기본 시그널 |
응답이 없는 프로세스나 불필요한 프로세스를 강제로 종료하려면 해당 프로세스의 PID 를 알아야한다. ps -ef 나 ps aux 명령으로 프로세스의 정보를 확인하면 PID와 PPID 를 알 수 있다.
kill
-기능 : 지정한 시그널을 프로세스에 보낸다.
-형식: kill [-시그널] PID
-시그널: 2 ) 인터럽트 시그널을 보낸다. (ctrl+c)
9 ) 프로세스를 강제로 종료한다.
15 ) 프로세스와 관련된 파일을 정리한 후 종료한다. 종료되지 않는 프로세스가 있을 수 있다. (설정 없으면 15로 실행됨)
단순히 kill 명령으로는 종료되지 않을 경우, 강제 종료 시그널인 9 번을 보낸다!
pkill 명령을 이용해 프로세스 종료하기 : PID 가 아니라 프로세스의 이름명령 (CMD) 로 프로세스를 찾아 종료한다.
프로세스 관리 도구
top 명령: 현재 실행 중인 프로세스에 대한 정보를 주기적으로 출력
top 명령의 출력 정보
항목 | 의미 | 항목 | 의미 |
PID | 프로세스 아이디 | SHR | 프로세스가 사용하는 공유 메모리의 크기 |
USER | 사용자 계정 | %CPU | 퍼센트로 표시한 CPU 사용량 |
PR | 우선순위 | %MEN | 퍼센트로 표시한 메모리 사용량 |
NI | Nice 값 | TIME+ | CPU 누적 이용 시간 |
VIRT | 프로세스가 사용하는 가상메모리 크기 | COMMAND | 명령이름 |
RES | 프로세스가 사용하는 메모리 크기 |
top 명령의 내부 명령
내부 명령 | 기능 |
enter , space bar | 화면을 즉시 다시 출력 |
h, ? | 도움말 화면을 출력 |
k | 프로세스 종료, 종료할 프로세스의 PID를 물어본다. |
n | 출력하는 프로세스의 개수를 바꾼다. |
p | cpu 사용량에 따라 정렬하여 출력한다. |
q | top 명령을 종료 |
M | 사용하는 메모리의 크기에 따라 정렬하여 출력 |
u | 사용자에 따라 정렬하여 출력 |
'리눅스프로그래밍' 카테고리의 다른 글
우분투 리눅스 - 파일시스템의 종류 (0) | 2020.05.30 |
---|---|
우분투 리눅스 - 포그라운드, 백그라운드 프로세스와 작업 제어 (0) | 2020.05.23 |
우분투 리눅스 - 프로세스 관리하기 (0) | 2020.05.23 |
우분투 리눅스 - 특수 접근 권한 (0) | 2020.05.16 |
우분투 리눅스 - 기본 접근 권한 설정 (0) | 2020.05.16 |