서버/리눅스 기초

[ps] 리눅스 프로세스 관리 명령어 ps 정리

엔지니어 은성 2021. 9. 23. 11:29
포스팅순서 
  1. 프로세스 관리 명령어 ps, ps -옵션 ps -ef 
  2. pstree 프로세스 연결구조 트리형식으로 출력
  3. 프로세스에게 전달하는 메세지 시그널
  4. kill -9 , -15 pid 프로세스 종료
  5. 프로세스 죽이기 pkill
  6.  리눅스 프로세스 우선순위 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 커맨드 수행