Bash

將標誌傳遞給 xargs

  • September 21, 2013

我想用這個命令殺死一堆程序:

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

但它給了我即使使用 sudo 也不允許的操作。

kill -9然後我為每個過程單獨嘗試並且它有效。

現在我的問題是如何-9通過 xargs 傳遞標誌來殺死?

下界 xargs kill -9xargs -9 kill為我工作。

只有該管道 ( ps ax) 中的第一個命令以 root 身份執行。該行的其餘部分(包括kill命令)正在以您的普通非 root 使用者身份執行。

kill以 root 身份執行,您需要像這樣執行它:

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

你需要殺戮的sudo。

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

引用自:https://unix.stackexchange.com/questions/91725