
프로세스를 죽이는 것이 때때로 프로세스를 제거하는 유일한 방법입니다. 가혹한 이름에도 불구하고 프로세스를 "죽인다"는 것은 "강제 종료"를 의미합니다. Linux 또는 macOS 명령 줄에서 수행하는 방법은 다음과 같습니다.
프로세스 란 무엇입니까?
웹 브라우저, 데스크톱 환경과 관련된 백그라운드 프로세스 및 Linux 시스템 서비스와 같은 실행 프로그램은 모두 프로세스입니다.
프로세스를 두 그룹으로 묶을 수 있습니다.
- 포 그라운드 프로세스 사용자가 시작하거나 시작한 것입니다. 터미널 창에 있거나 그래픽 응용 프로그램 일 수 있습니다.
- 백그라운드 프로세스 자동으로 시작되고 사용자와 상호 작용하지 않는 모든 프로세스입니다. 그들은 사용자로부터 입력을 기대하지 않으며 결과를 제시하거나 출력하지 않습니다. 백그라운드 프로세스는 서비스 및 데몬과 같은 것입니다.
전경 프로세스가 극장 직원과 배우의 앞면 프로세스 인 경우 배경 프로세스는 "비하인드 스토리"팀이됩니다.
프로세스가 오작동하거나 오작동하면 CPU 시간이 너무 많이 소모되거나 RAM이 소모되거나 엄격한 계산 루프에 들어가 응답하지 않을 수 있습니다. 그래픽 응용 프로그램은 마우스 클릭에 대한 응답을 거부 할 수 있습니다. 터미널 응용 프로그램은 명령 프롬프트로 돌아 가지 않을 수 있습니다.
인도적인 답변
프로세스를 "죽인다"는 것은 "프로세스를 강제 종료"하는 것을 의미합니다. 프로세스가 응답을 거부하는 경우 필요할 수 있습니다.
Linux는
죽임
,
pkill
, 및
다 죽여
그렇게 할 수 있도록 명령합니다. 이러한 명령은 모든 유형의 프로세스, 그래픽 또는 명령 줄, 전경 또는 배경과 함께 사용할 수 있습니다.
kill 명령
사용
죽임
, 종료하려는 프로세스의 프로세스 ID (PID)를 알아야합니다. 그만큼
추신
명령은 프로세스의 PID를 찾는 데 사용할 수 있습니다.
가지다
추신
모든 프로세스를 검색하여
-이다
(모든 프로세스) 옵션. 출력 배관
적게
상당히 많을 것입니다. 유형
추신
, 우주,
-이다
, 우주,
|
(파이프 문자), 다른 공백 및 입력
적게
. Enter를 눌러 명령을 실행하십시오.
ps -e | 적게
그러면 아래 스크린 샷과 유사한 프로세스 목록이 제공됩니다. 앞으로 검색 할 수 있습니다.
적게
사용하여
/
키를 사용하여 뒤로 검색 할 수 있습니다.
?
키.
관심있는 프로세스에 집중하려면
추신
...을 통하여
꽉 붙잡음
프로세스의 이름 (또는 이름의 일부)을 지정합니다.
ps -e | 그렙 슈터
종료하려는 프로세스의 PID를 찾으면이를
죽임
매개 변수로 명령. 종료하려면
셔터
이전 명령으로 식별 된 프로세스는 다음 명령을 사용합니다.
2099 년 죽이기
그만큼
죽임
명령은 조용한 암살자입니다. 성공한 경우 피드백을 제공하지 않습니다.
pkill 명령
그만큼
pkill
명령을 사용하면 이름으로 프로세스 또는 프로세스를 종료 할 수 있습니다. PID로 프로세스를 식별 할 필요가 없습니다. 사용
pkill
다음과 같은 검색어를 제공합니다.
pkill
실행중인 프로세스 목록을 확인하는 데 사용합니다. 일치하는 프로세스가 종료됩니다. 따라서 해당 검색어의 철자가 정확하다는 확신이 있어야합니다.
안전망으로 사용할 수 있습니다.
pgrep
명령
전에
당신은
pkill
명령. 그만큼
pgrep
명령은 검색어도 허용합니다. 검색어와 일치하는 각 프로세스의 PID를 나열합니다. 이것은 안전합니다.
pgrep
프로세스에 종료 신호를 발행하지 않으며 검색어를 잘못 입력해도 실수로 다른 프로세스를 종료하지 않습니다. 검색어를 전달하기 전에 검색어를 올바르게 생각했는지 확인할 수 있습니다.
pkill
. 양자 모두
pkill
과
pgrep
같은 방식으로 검색어를 처리합니다. 그들의 치료는 너무 유사해서
동일한 매뉴얼 페이지 공유
.
이름에 "subq"가 포함 된 프로세스가 있다고 가정 해 보겠습니다. 우리는
ps -u 데이브 | grep
커튼 뒤를 들여다 보라는 명령. "subq"가 해당 프로세스와 해당 프로세스 만 일치 함을 알 수 있습니다. 프로세스의 전체 이름을 볼 수 있도록하기위한 것입니다.
ps -u 데이브 | grep subq
사용자가
하지 않았다
그랬어; 그들이 아는 것은 프로세스 이름에 하위 문자열 "subq"가 포함되어 있다는 것뿐입니다. 그들은 사용
pgrep
검색어와 일치하는 항목이 하나만 있는지 확인합니다. 그런 다음 해당 검색어를
pkill
.
pgrep subq
pkill subq
당신이 사용할 수있는
pkill
한 번에 여러 프로세스를 종료합니다. 여기서 사용자는
pgrep
Chrome이 실행 한 프로세스 수를 확인합니다. 그들은 사용
pkill
그들 모두를 죽이기 위해. 그런 다음 확인합니다.
pgrep
모두 제거되었습니다.
pgrep 크롬
크롬 크롬
pgrep 크롬
이름이 같은 여러 프로세스가 실행 중이지만 모두 종료하고 싶지 않은 경우 다음을 사용할 수 있습니다.
pgrep
와 더불어
-에프
(명령 줄) 옵션을 사용하여 어떤 프로세스인지 식별합니다. 간단한 예는 두
핑
프로세스. 그들 중 하나를 죽이고 싶지만 다른 하나는 죽이고 싶지 않습니다. 명령 줄을 사용하여 구분할 수 있습니다. 따옴표를 사용하여 명령 줄 매개 변수를 줄 바꿈합니다.
pgrep -f "ping 192.168.4.22"
pkill -f "ping 192.168.4.22"
killall 명령
경고
: Solaris 및 OpenIndiana 운영 체제에서
다 죽여
명령은
당신에게 속한 모든 프로세스를 종료
. 루트이거나 발행 한 경우
sudo killall
컴퓨터를 재부팅합니다! 이 기사에 대한 연구 중에이 동작은 최신 버전의 OpenIndiana Hipster 2018.10에서 확인되었습니다.
그만큼
다 죽여
명령
비슷한 방식으로 작동
~로
pkill
명령이지만 특정 차이점이 있습니다. 명령에 검색어를 전달하는 대신 정확한 프로세스 이름을 제공해야합니다.
프로세스 이름에 부분 일치를 제공 할 수 없습니다. 다음과 같이 전체 프로세스 이름을 제공해야합니다.
killall shutt
killall 셔터
그만큼
-와이
(미만) 옵션을 사용하면 실행중인 프로세스를 종료 할 수 있습니다.
적게
지정된 기간보다. 기간은 다음 단위 중 하나가 뒤에 오는 숫자로 제공됩니다.
- s (초)
- m (분)
- h (시간)
- d (일)
- w (주)
- M (개월, 메모, 대문자 "M")
- y (년)
호출 된 프로세스를 종료하려면
어머니
방금 시작되었으며 이전 인스턴스는 그대로 둡니다.
어머니
실행 중이면 다음 매개 변수를 사용할 수 있습니다.
다 죽여
, 2 분 이내에 반응 한 경우 :
나 또는 나 줄이기
그만큼
-그만큼
(보다 오래됨) 옵션을 사용하면 지정된 기간보다 오래 실행 된 프로세스를 종료 할 수 있습니다. 이 명령은 모든 것을 죽일 것입니다
ssh
하루 이상 실행 된 연결 :
killall -o 1d sshd
너무 행복하지 마십시오
이 명령을 사용하면 정확하고 안전하게 잘못된 프로세스를 식별하고 종료 할 수 있습니다.
항상 조심하십시오. 먼저 죽이려는 프로세스가 실제로 원하는 프로세스인지 확인하십시오. 둘째, 다시 한 번 확인하십시오.주의해서 목표 프로세스가 종료하려는 프로세스인지 확인하십시오. 만족 스러우면 프로세스 종료를 진행합니다.