IT story

이름과 일치하는 모든 프로세스를 종료하는 방법은 무엇입니까?

hot-time 2020. 4. 15. 12:35
반응형

이름과 일치하는 모든 프로세스를 종료하는 방법은 무엇입니까?


아마로라는 단어가 포함 된 모든 프로세스를 죽이고 싶다고 가정 해 봅시다. 실행하려는 명령을 인쇄 할 수 있습니다. 그러나 실제로 쉘이 어떻게 실행하도록합니까? 즉.

ps aux | grep -ie amarok | awk '{print "kill -9 " $2}'
Output:
kill -9 3052
kill -9 3071
kill -9 3076
kill -9 3077
kill -9 3079
kill -9 3080
kill -9 3082
kill -9 3083
kill -9 3084
kill -9 3085
kill -9 3086
kill -9 3087
kill -9 3088
kill -9 3089
kill -9 4031

에서 man 1 pkill

-f     The pattern is normally only matched against the process name.
       When -f is set, the full command line is used.

예를 들어 다음과 같은 줄을 보면 ps aux:

apache   24268  0.0  2.6 388152 27116 ?        S    Jun13   0:10 /usr/sbin/httpd
apache   24272  0.0  2.6 387944 27104 ?        S    Jun13   0:09 /usr/sbin/httpd
apache   24319  0.0  2.6 387884 27316 ?        S    Jun15   0:04 /usr/sbin/httpd

pkill -f옵션을 사용하여 모두 죽일 수 있습니다.

pkill -f httpd

ps aux | grep -ie amarok | awk '{print $2}' | xargs kill -9 

xargs (1) : xargs-인수 목록을 구성하고 유틸리티를 실행합니다. 도움 당신은 같은 인수에 파이프 할 때 kill또는 ls정도에.


사용하다 pgrep

kill -9 $(pgrep amarok)

이를 수행하는 안전한 방법은 다음과 같습니다.

pkill -f amarok

이 명령 killall이 정확히 필요한 것 같습니다. 이 명령은 "이름 별 킬 프로세스"라고하며 사용하기 쉽습니다.

killall chrome

이 명령은 Chrome의 모든 프로세스를 종료합니다. 다음은 killall 명령에 대한 링크입니다.

http://linux.about.com/library/cmd/blcmdl1_killall.htm

이 명령이 도움이 되길 바랍니다.


pkill -x는 프로세스 이름과 정확히 일치합니다.

pkill -x amarok

pkill -f는 비슷하지만 정규 표현식 패턴을 허용합니다.

다른 매개 변수가없는 pkill (예 : -x, -f)은 프로세스 이름에서 부분 일치를 허용합니다. 따라서 "pkill amarok"은 amarok, amarokBanana, bananaamarok 등을 죽입니다.

-x가 기본 동작이기를 바란다!


명령의 출력을 실행하려면 명령을 안에 넣을 수 $(...)있지만 특정 작업의 경우 killallpkill명령을 살펴보십시오 .


백틱으로 모든 것을 둘러싸거나 $ () 안에 넣어서 출력을 하위 프로세스로 평가할 수도 있습니다.

`ps aux | grep -ie amarok | awk '{print "kill -9 " $2}'`

 $(ps aux | grep -ie amarok | awk '{print "kill -9 " $2}')     

kill -s 9ps -ef |grep "Nov 11" |grep -v grep | awk '{print $2}' 시도 11 월 11 일의 ps -ef |grep amarok|grep -v grep | awk '{print $2}'프로세스를 종료하려면 -s 9 amarok라는 단어가 포함 된 프로세스를 종료하려면


실행 파일에 명령을 추가하고 + x 권한을 설정 한 다음 실행합니까?

ps aux | grep -ie amarok | awk '{print "kill -9 " $2}' > pk;chmod +x pk;./pk;rm pk

cygwin 또는 최소 쉘이 부족한 killall경우 다음 스크립트를 사용할 수 있습니다.

killall.sh-프로세스 이름으로 죽입니다.

#/bin/bash
ps -W | grep "$1" | awk '{print $1}' | xargs kill -f;

용법:

$ killall <process name>

참고 URL : https://stackoverflow.com/questions/6381229/how-to-kill-all-processes-matching-a-name

반응형