동작 중인 프로세스를 프로세스 이름을 이용하여 강제 종료하기

반응형

리눅스에서 동작 중인 프로세스를 강제 종료하는 방법으로 kill 명령을 사용할 수 있다.

 

kill 명령은 인자로 PID(프로세스 식별번호) 입력 받아, 해당되는 프로세스를 강제 종료한다.

따라서 종료하고자 하는 PID를 알아야 하며, 이는 다음과 같이 ps 명령을 통해 알 수 있다.

아래 화면에서 ps 라는 프로세스의 PID는 42465 이다.

$ ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
gyun         1     0  0 Nov01 pts/0    00:00:00 /bin/bash
gyun     42466     1  0 11:21 pts/0    00:00:00 ps -ef

 

PID를 알아낸 후에는 kill 명령을 통해 해당 프로세스를 강제 종료할 수 있다.

$ kill -9 42466

 

하지만 이렇게 PID를 먼저 알아낸 후 종료하는 두 단계를 거치기에는 불편할 수 있다. 

위 명령에 grep, awk 명령을 추가 조합하여 프로세스 이름만으로 프로세스를 종료하는 방법은 다음과 같다.

(보통 프로세스 이름은 알고 있기 때문에, 별다른 추가 작업 없이 한 줄로 종료할 수 있다.

$ kill -9 `ps -ef | grep '프로세스이름' | awk '{print $2}'`

 

하지만 더 간단한 방법이 있다.

killall 명령을 사용한다.

$ killall -9 프로세스이름

 

우분투 리눅스에서 killall을 설치하는 방법은 다음과 같다.

$ sudo apt install psmisc

 

댓글

Designed by JB FACTORY