xargs에 플래그 전달

xargs에 플래그 전달

다음 명령을 사용하여 여러 프로세스를 종료하고 싶습니다.

sudo ps ax | grep node | awk '{print $1}' | xargs kill

하지만 sudo로도 허용되지 않는 작업을 제공합니다.

그런 다음 kill -9각 프로세스를 개별적으로 시도했는데 효과가 있었습니다.

-9이제 내 질문은 xargs를 통해 종료하기 위해 플래그를 전달하는 방법입니다 .

지하 세계 xargs kill -9또는 xargs -9 kill나를 위해 일하십시오.

답변1

파이프라인의 첫 번째 명령( ps ax)만 루트로 실행됩니다. 명령을 포함한 나머지 줄은 kill루트가 아닌 일반 사용자로 실행됩니다.

루트로 실행하려면 kill다음과 같이 실행해야 합니다.

ps ax | grep node | awk '{print $1}' | sudo xargs kill -9

또는

ps ax | grep node | awk '{print $1}' | xargs sudo kill -9

또는 이미 pkill설치되어 있는 경우 다음을 실행할 수 있습니다.

sudo pkill -9 node

답변2

죽이려면 sudo가 필요합니다.

ps ax | grep node | awk '{print $1}' | xargs sudo kill -9

관련 정보