SW/리눅스

Linux : 프로세스 죽이는 방법, 예제, 명령어

얇은생각 2020. 12. 26. 07:30
반응형

애플리케이션을 실행하다가 갑자기 앱이 응답하지 않고 예기치 않게 충돌하는 상황에 직면한 적이 있습니까? 응용 프로그램을 다시 시작하려고 하지만 원래 응용 프로그램 프로세스가 완전히 종료되지 않기 때문에 아무 일도 일어나지 않습니다.

모두에게 어느 순간 그런 일이 일어났습니다. 해결책은 애플리케이션 프로세스를 종료하거나 종료하는 것입니다. 하지만 어떻게요?

다행히 리눅스에는 잘못된 프로세스를 제거할 수 있는 몇 가지 유틸리티가 있습니다. 

Linux에서 프로세스를 종료하기 위해 kill, killall 및 pkill 명령을 사용하는 방법에 대해 설명합니다. 

이러한 도구의 주요 차이점은 kill은 프로세스 ID 번호(PID)를 기준으로 프로세스를 종료하는 반면 killall 및 pkill 명령은 이름과 기타 속성을 기준으로 실행 중인 프로세스를 종료한다는 것입니다. 

일반 사용자는 자신의 프로세스를 제거할 수 있지만 다른 사용자의 프로세스는 제거할 수 없고 루트 사용자는 모든 프로세스를 제거할 수 있습니다.

 

 

Linux : 프로세스 죽이는 방법, 예제, 명령어

 

 

System Kill Signals

kill, killall 및 pkill은 지정된 신호를 지정된 프로세스 또는 프로세스 그룹에 보냅니다. 신호가 지정되지 않은 경우 각 도구는 15(TERM)를 전송합니다. 

가장 일반적으로 사용되는 신호는 다음과 같습니다.

- 1(-HUP): 프로세스를 다시 로드합니다.

- 9(-Kill): 프로세스를 죽입니다.

- 15(-TERM): 프로세스를 정상적으로 중지합니다.

 

 

신호는 세 가지 방법으로 지정할 수 있습니다. 

- 숫자(예: -1)를 사용합니다.

- "SIG" 접두사를 사용합니다(예: -SIGUP).

- "SIG" 접두사 없이 사용할 수 있습니다(예: -HUP).

 

 

-l 옵션을 사용하여 사용 가능한 모든 신호를 나열합니다.

kill -l  # or killall -l

 

 

 

 

아래 설명된 단계는 모든 Linux 배포에 적용됩니다.

 

 

 

kill 명령을 사용하여 프로세스 종료

먼저 kill 명령으로 프로세스를 종료하려면 프로세스 PID를 찾아야 합니다. 이 작업은 top, ps, pidof 및 pgrep과 같은 다른 명령을 사용하여 수행할 수 있습니다.

Firefox 브라우저의 응답이 없으며 브라우저 프로세스를 중지해야 합니다. 프로세스 ID를 찾으려면 pidof 명령을 사용합니다.

pidof firefox

 

 

 

이 명령은 다음 모든 Firefox 프로세스를 인쇄합니다.

# 2551 2514 1963 1856 1771

 

 

Firefox가 PID를 처리하여 모든 PID를 종료하면 TERME 신호가 전송됩니다.

kill -9 2551 2514 1963 1856 1771

 

 

 

 

killall 명령을 사용하여 프로세스 종료

killall 명령은 지정된 이름과 일치하는 모든 프로그램을 종료합니다. 

이전과 동일한 시나리오를 사용하여 다음을 입력하여 Firefox 프로세스를 중지할 수 있습니다.

killall -9 firefox

 

 

 

killall은 지정된 사용자가 소유한 프로세스에 신호 보내기, 정규식과 프로세스 이름 일치, 생성 시간 등과 같은 몇 가지 옵션을 허용합니다. 터미널에 killall(인수가 없는 경우)을 입력하여 모든 옵션 목록을 얻을 수 있습니다.

예를 들어 사용자 "sara"로 실행되는 모든 프로세스를 종료하려면 다음 명령을 실행합니다.

sudo killall -u sara

 

 

 

pkill 명령을 사용하여 프로세스를 종료

pkill은 명령줄에 지정된 패턴과 일치하는 프로세스를 종료합니다.

pkill -9 firefox

 

 

 

프로세스의 이름이 정확하게 일치할 필요는 없습니다.

pkill을 사용하면 지정된 사용자가 소유한 프로세스에 신호를 보낼 수도 있습니다. "sara" 사용자가 소유한 Firefox 프로세스만 제거하려면 다음을 입력합니다.

pkill -9 -u sara firefox

 

반응형