프로세스 관리하기
16 Jul 2017 | 리눅스 명령어 프로세스리눅스 프로세스
용어 | 설명 |
---|---|
PID (Process ID) | 프로세스 고유 식별 번호 |
UID (User ID) | 프로세스를 소유한 사용자 계정의 식별 번호 |
GID( Group ID) | 프로세스가 속해있는 그룹의 식별 번호 |
File Descriptor | 프로세스의 읽기/쓰기를 위해 어떤 파일의 어떤 위치를 열고 있는지 기록 |
#프로세스 확인
현재 실행중인 프로세스는 ps
명령어를 이용해서 확인할 수 있습니다.
ps
만 입력한 경우 현재 로그인한 사용자가 실행한 프로세스만 보여줍니다.
-a
옵션을 붙이게 되면 다른 사용자의 프로세스 상태도 표시하며, -x
옵션은
화면에 보이지 않는 프로세스까지 모두 표시합니다. -u
옵션을 붙이면 프로세스를
사용한 사용자가 누구인지, 그리고 실행 시간까지 표시합니다.
아래와 같은 형태로 3가지 옵션을 모두 적용할 수 있습니다.
ps -aux
-aux
옵션 대신 -ef
옵션을 붙이게 되면 PID(Process ID)로 정렬된 결과를 보여줍니다.
프로세스 전체적인 상태 조회
ps -aux
명령어 대신 top
명령어를 이용할 경우 실시간으로 메모리 점유율이나 CPU 사용율을
화면에 보여줍니다. ps
명령어가 개별 프로세스의 상태를 보여주는데 반해, top
는
전체 프로세스 상태를 한 눈에 보기 좋게 출력합니다.
프로세스 종료하기
프로세스 종료는 kill
명령어를 이용해서 종료할 수 있습니다. 사용법은 다음과 같습니다.
kill -[시그널] [PID]
ex) kill -9 5678
kill
은 프로세스의 종료만을 위해 사용되는 명령어는 아닙니다. 현재 실행중인 프로세스에
시그널(Signal)을 보내서 프로세스의 상태를 변경하는 것이 주 목적입니다.
아무 시그널 옵션도 주지 않은 상태로 kill
명령어를 수행하면 시그널의 기본값이 -15
로 설정됩니다.
15
는 SIGTERM
으로 프로세스를 종료하라는 신호입니다. 대부분의 프로그램은 기본값으로
종료가 되지만 간혹 종료가 되지 않는 프로그램들도 있습니다. 이런 경우는 SIGKILL
시그널인
-9
옵션을 이용해서 프로세스를 강제로 종료하게 할 수 있습니다.