xargsにフラグを渡す

xargsにフラグを渡す

次のコマンドを使用して複数のプロセスを終了したいと思います。

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

しかし、sudoとしても許可されていないタスクを提供します。

その後、kill -9各プロセスを個別に試してみましたが、効果がありました。

-9今私の質問は、xargsを介して終了するためにフラグを渡す方法です。

地下の世界 xargs kill -9xargs -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

関連情報