[ 우분투 ] PS 명령어 프로세스 Kill 명령어 PID, PPID 확인

 Linux PS 명령 

 

리눅스를 사용하면 프로세스를 확인해야 할 일이 자주 발생합니다. 특히 동작중인 서버나 서비스를 강제로 종료시킬 때 프로세스를 확인해서 PID를 알아내야 합니다.  ps 명령어Process Status의 약자로 현재 실행되고 있는 프로세스의 상태를 보여줍니다.

 

 

그중 다음 명령어를 가장 많이 사용하게 됩니다.

ps -ef | grep [프로세스명]

 

 

ps -ef 명령어는 현재 실행되고 있는 모든 프로세스를 보여주게 됩니다. 또한 파이프라인을 통해 grep 명령어를 추가하여 원하는 프로세스를 정확히 알아낼 수 있습니다.

 

 

만약 jar에 대한 프로세스 PID를 찾으려고 하면 다음과 같은 명령어로 확인할 수 있습니다.

ps -ef | grep jar

ps -ef


 

 

이제 PID 를 찾았으니 프로세스를 강제로 종료시키는 명령어를 알아보겠습니다. kill -9 명령을 사용하면 해당 프로세스를 강제 종료시킬 수 있습니다. kill 명령어는 프로세스를 종료시키는 명령으로 -9SIGKILL을 의미하고 해당 프로세스를 강제 종료 시킵니다.

kill -9 [PID]

 

 

이제 가장 많이 사용되는 ps 명령의 사용법을 알아봤으니 ps 명령어의 옵션들을 상세히 알아보겠습니다.

옵션 종류 설명
-e 모든 프로세스를 출력합니다.
-f 전체 포맷 (Full Format)으로 출력합니다.
-l 긴 확장된 포맷으로 출력합니다.
-p 특정 PID의 프로세스만 독립적으로 출력합니다.
-u 특정 사용자의 프로세스만 출력합니다.

PS 명령어의 옵션


 

 

 

PS 명령을 출력할 때 보이는 PID, PPID, PGID, SID에 대해서 알아보겠습니다. 만약 위의 ID 값들을 알고 싶다면 다음 명령어를 통해서 알 수 있습니다.

ps -A -o pid,ppid,pgid,sid,command | more
ID 종류 설명
PID Process ID의 약자로 프로세스를 구분하는 ID입니다.
PPID Parent Proccess ID의 약자로 프로세스를 생성한 부모의 PID입니다. 고아 프로세스일 경우 PID(1)이 할당됩니다.
PGID Process Group ID의 약자로 프로세스 그룹을 구분합니다. 하나의 프로세스를 그룹으로 묶어서 관리가 가능합니다.
SID Session ID의 악자로 세션을 구분할 때 사용되는 ID로 세션은 하나의 터미널을 의미합니다.

ID의 종류


 

댓글

Designed by JB FACTORY