답변:
당신은 할 수 사용 pgrep
하면 포함만큼 -f
옵션을. 이는 pgrep
프로세스 이름 대신 전체 명령 (인수 포함)에서 일치 키워드를 만듭니다 .
pgrep -f keyword
로부터 man 페이지 :
-f
패턴은 일반적으로 프로세스 이름에 대해서만 일치합니다. 때-f
설정, 전체 명령 줄이 사용됩니다.
정말로 pgrep을 피하려면 다음을 시도하십시오.
ps -ef | awk '/[k]eyword/{print $2}'
[]
키워드의 첫 글자 주위에 유의하십시오 . 이는 awk
명령 자체와 일치하지 않도록하는 유용한 트릭 입니다.
kill -9 `pgrep -f keyword`
ps aux | grep chrome
[k]
에 트릭을 pgrep -f
. 나는 그것이 부모의 명령 따기이라고 생각 때문에 내 스크립트는 서브 쉘에서 실행되었다 (확실히 알고 하드를 - (가) 명령 실행이 완료되었을 때 사라 반환 된 PID!)
pkill -9 -f keyword
않습니까?
시험
ps -ef | grep "KEYWORD" | awk '{print $2}'
이 명령은 KEYWORD가 포함 된 프로세스의 PID를 제공해야합니다. 이 경우 awk
출력에서 두 번째 열에있는 내용을 반환합니다.
| head -1
.
특정 키워드로 프로세스를 종료하려면 ~/.bashrc
(linux) 또는 ~/.bash_profile
(mac) 에서 별칭을 만들 수 있습니다 .
alias killps="kill -9 `ps -ef | grep '[k]eyword' | awk '{print $2}'`"
| head -1
이 모든 것이 멋지고 깔끔하게 마무리됩니다.