이름과 일치하는 모든 프로세스를 종료하는 방법은 무엇입니까?
아마로라는 단어가 포함 된 모든 프로세스를 죽이고 싶다고 가정 해 봅시다. 실행하려는 명령을 인쇄 할 수 있습니다. 그러나 실제로 쉘이 어떻게 실행하도록합니까? 즉.
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가 기본 동작이기를 바란다!
명령의 출력을 실행하려면 명령을 안에 넣을 수 $(...)
있지만 특정 작업의 경우 killall
및 pkill
명령을 살펴보십시오 .
백틱으로 모든 것을 둘러싸거나 $ () 안에 넣어서 출력을 하위 프로세스로 평가할 수도 있습니다.
`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
'IT story' 카테고리의 다른 글
Visual Studio 디버거에서 배열을 보시겠습니까? (0) | 2020.04.15 |
---|---|
GitHub 맛 마크 다운에 각주를 추가하는 방법? (0) | 2020.04.15 |
브라우저를 이전 페이지로 돌아가려면 Javascript를 클릭하십시오. (0) | 2020.04.15 |
월 번호에서 월 이름 가져 오기 (0) | 2020.04.15 |
선택한 라디오 버튼의 값을 얻는 방법? (0) | 2020.04.15 |