기계적 인조 인간

리눅스에서 프로세스를 죽이는 법

다각화되는 요즘 무선 환경의 '3대 트렌드'

다각화되는 요즘 무선 환경의 '3대 트렌드'

차례:

Anonim

응용 프로그램을 시작한 상황에 직면 한 적이 있습니까? 갑자기 응용 프로그램을 사용하는 동안 응용 프로그램이 응답하지 않고 예기치 않게 중단됩니까? 응용 프로그램을 다시 시작하려고 시도하지만 원래 응용 프로그램 프로세스가 실제로 완전히 종료되지 않으므로 아무 일도 일어나지 않습니다.

글쎄, 그것은 어느 시점에서 우리 모두에게 일어 났습니까? 해결책은 응용 프로그램 프로세스를 종료하거나 종료하는 것입니다. 그러나 어떻게?

운 좋게도 Linux에는 잘못된 프로세스를 종료 할 수있는 여러 유틸리티가 있습니다.

kill , killall pkill 명령을 사용하여 Linux에서 프로세스를 종료하는 방법을 보여줍니다.

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

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

시스템 킬 신호

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

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

  • 1 (-HUP): 프로세스를 다시로드합니다. 9 (-KILL): 프로세스를 종료합니다. 15 (-TERM): 프로세스를 정상적으로 중지합니다.

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

  • "SIG"접두사없이 (예: -1) "SIG"접두사없이 (예: -1) "SIG"접두사없이 (예: -HUP).

사용 가능한 모든 신호를 나열하려면 -l 옵션을 사용하십시오.

kill -l # or killall -l

아래에 요약 된 단계는 모든 Linux 배포판에서 작동합니다.

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

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

Firefox 브라우저가 응답하지 않아 Firefox 프로세스를 종료해야한다고 가정 해 봅시다. 프로세스 ID를 찾으려면 pidof 명령을 사용하십시오.

pidof firefox

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

2551 2514 1963 1856 1771

Firefox가 PID를 처리하여 모든 PID를 종료하면 TERM 신호를 보냅니다.

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”사용자가 소유 한 파이어 폭스 프로세스 만 종료하려면 다음과 같이 입력하십시오.

pkill -9 -u sara firefox

결론

kill , killall pkill 명령을 사용하여 응답이없는 프로그램을 종료하는 것은 쉬운 작업입니다. 프로세스 이름 또는 PID 만 알고 있으면됩니다.

터미널을 죽이다