ps -ef | grep "keyword"
데몬 프로세스의 pid를 결정하는 데 사용하고 싶습니다 (ps -ef 출력에 고유 한 문자열이 있음).
프로세스 pkill keyword
를 죽이는 대신 PID를 반환하는 명령이 있습니까? (pidof 또는 pgrep이 작동하지 않음)
답변
당신은 할 수 사용 pgrep
하면 포함만큼 -f
옵션을. 이는 pgrep
프로세스 이름 대신 전체 명령 (인수 포함)에서 일치 키워드를 만듭니다 .
pgrep -f keyword
로부터 man 페이지 :
-f
패턴은 일반적으로 프로세스 이름에 대해서만 일치합니다. 때-f
설정, 전체 명령 줄이 사용됩니다.
정말로 pgrep을 피하려면 다음을 시도하십시오.
ps -ef | awk '/[k]eyword/{print $2}'
[]
키워드의 첫 글자 주위에 유의하십시오 . 이는 awk
명령 자체와 일치하지 않도록하는 유용한 트릭 입니다.
답변
시험
ps -ef | grep "KEYWORD" | awk '{print $2}'
이 명령은 KEYWORD가 포함 된 프로세스의 PID를 제공해야합니다. 이 경우 awk
출력에서 두 번째 열에있는 내용을 반환합니다.
답변
ps -ef | grep KEYWORD | grep -v grep | awk '{print $2}'
답변
나는 사용한다
ps -C "keyword" -o pid=
이 명령은 PID 번호를 제공해야합니다.
답변
이것은 리눅스에서 사용할 수 있습니다 : pidof 키워드
답변
특정 키워드로 프로세스를 종료하려면 ~/.bashrc
(linux) 또는 ~/.bash_profile
(mac) 에서 별칭을 만들 수 있습니다 .
alias killps="kill -9 `ps -ef | grep '[k]eyword' | awk '{print $2}'`"