PID를 kill로 파이프하면 작동하지 않습니다.

PID를 kill로 파이프하면 작동하지 않습니다.

SNAPSHOT 종속성을 업데이트할 때 Nailgun 인스턴스에 오류가 발생하는 IntelliJ의 버그와 싸우고 있습니다. 나는 원해요이름에 Nailgun이 포함된 모든 프로세스를 자동으로 종료합니다..

지금까지 다음과 같은 모든 관련 PID를 얻을 수 있습니다.

ps -x -o pid,cmd | grep nailgun | cut -f 1 -d ' '

예를 들어 이것은 나에게 다음을 제공합니다:

26759
27852
28817
29963
31234
31577

kill수동으로 실행할 수도 있습니다 kill 26759. 그러나 파이프가 작동하지 않습니다.

ps -x -o pid,cmd | grep nailgun | cut -f 1 -d ' ' | kill

이건 그냥 인쇄된다

죽이기: 사용법: kill [-s sigspec | -n 기호 | -sigspec] pid jobspec ... 또는 kill -l [sigspec]

삭제할 PID 목록을 어떻게 파이프합니까?

답변1

PID를 한 줄에 입력하십시오 xargs.

ps -x -o pid,cmd | grep nailgun | cut -f 1 -d ' ' | xargs kill

유일한 성가심은 이것이 목록에도 표시된 인스턴스를 인쇄한다는 것입니다 kill: (xyz): No such process.grepps

또 다른 옵션:

pgrep -f nailgun | xargs kill

관련 정보