[ps] 리눅스 프로세스 관리 명령어 ps 정리
포스팅순서
- 프로세스 관리 명령어 ps, ps -옵션 ps -ef
- pstree 프로세스 연결구조 트리형식으로 출력
- 프로세스에게 전달하는 메세지 시그널
- kill -9 , -15 pid 프로세스 종료
- 프로세스 죽이기 pkill
- 리눅스 프로세스 우선순위 snice, nice
▶ 현재 터미널과 관련된 프로세스 정보 확인 ps
옵션 | 설명 |
-a | 실행 중인 프로세스 중 제어 터미널을 가지고 있는 프로세스 목록 출력 |
-e | 시스템에서 실행 중인 모든 프로세스의 상태를 출력 |
-f | PID, PPID 포함 정보 출력 |
-l | -f 옵션보다 더 자세한 정보 출력 |
-u | 사용자 이름과 프로세스가 시작된 시간 출력 |
-x | 터미널에 종속되지않은 프로세스 출력 |
▶ 가장 많이 사용하는 프로세스 명령어 옵션 ps -ef
pid : 프로세스 식별번호, TTY : 프로세스가 실행된 터미널 포트, TIME:총 CPU 사용 시간 CMD : 명령어 실행 라인
▶ pstree- 프로세스 상관관계 확인
# pstree [option] 프로세스들의 연결 구조를 트리 형식으로 출력
옵션 | 설명 |
-q | 명령어 인수까지 출력 |
-n | PID순으로 정렬하여 출력 |
-p | PID도 출력 |
-u | UID도 출력 |
-V | 버전 정보를 출력 |
운영체제 최소 설치 시 pstree command not found가 나오므로 yum -y install psmisc로 설치
▶시그널 signal
- 실행 중에 있는 프로세스에게 전달하는 메시지
- 일반적으로 많이 사용되는 중요한 시그널은 아래 표와 같다.
시그널 이름 | 시그널 번호 | 명령 |
SIGHUP | 1 | 프로세스 종료되었다가 다시 실행 |
SIGINT | 2 | 키보드 인터럽트인 Ctrl + C와 동일 프로세스 종료 |
SIGKILL(강제종료) | 9 | 프로세스 종료할때 사용 커널이 직접 프로세스를 종료 강제 종료로 데이터가 있어도 기록하지 못하고 즉시 종료 |
SIGTERM (종료) | 15 | 자신이 직접 프로세스 종료 저장할 데이터가 있을시 저장후 프로세스 종료 |
▶ 프로세스 제어 명령어 KILL
# kill -signal PID
# kill -15 6683 6683 PID의 프로세스에 SIGTERM 메시지를 보냄
# kill -9 6683 6683의 PID 프로세스에 SIGKILL 강제 종료 메시지를 보냄
▶ 프로세스 죽이기 pkill
# pkill -signal [프로세스 이름]
옵션 | 설명 |
-f | 지정한 패턴을 명령어 뿐만 아니라 경로명 옵션 argument도 비교 |
-n | 패턴과 일치하는 프로세스의 가장 최근에 실행된 프로세스 하나만 종료 |
-x | 패턴과 정확하게 일치하는 프로세스만 종료 |
# pkill -15 sshd >> sshd 이름을 갖는 프로세스에게 종료 sigterm메시지를 보냄
▶ 리눅스 우선순위 설정 snice, nice
전체 우선순위는 -20~20까지 부여될 수 있으며 대부분은 0을 가지고 값이 낮을수록 -20에 가까울수록 높은 우선순위
필요에 따라 시스템 관리자가 우선순위 변경할 수 있는데 이때 사용하는 명령어는 nice, snice 명령어
# ps -el >> 프로세스 우선순위 확인
# snice -n [프로그램명 or PID] -> -n에 해당하는 NICE 값으로 우선순위 조정
# snice +n [프로그램명 or PID] ->+n에 해당하는 NICE값으로 우선순위 조정
▶ snice : 실행 중인 프로세스의 우선순위를 변경
▶ nice : 프로세스를 실행할 때 우선순위를 설정!!
# nice -n [NICE값] [프로그램명] : 해당하는 NICE값으로 프로세스를 실행
nice 명령어는 프로세스를 실행과 동시에 우선순위를 설정할 수 있음
# nice -n +5 vi file1 NICE값을 +5로 갖는 vi file1 커맨드 수행