Bash - 在一个命令中杀死所有进程

时间:2014-12-19 09:28:06

标签: linux bash ubuntu

我有以下bash命令,它运行得很好:

ps aux | grep mpg321 | grep -v "grep mpg321" | awk '{print $2}' | xargs kill

唯一的问题是,当没有执行mpg321时,它会返回一条糟糕的消息,我不想向用户显示。

在此语句中放置if以避免返回消息的方法是否存在“安静”参数?

Usage:
 kill [options] <pid> [...]

Options:
 <pid> [...]            send signal to every <pid> listed
 -<signal>, -s, --signal <signal>
                        specify the <signal> to be sent
 -l, --list=[<signal>]  list all signal names, or convert one to a name
 -L, --table            list all signal names in a nice table

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see kill(1).

谢谢!

2 个答案:

答案 0 :(得分:4)

killall怎么样?

killall mpg321

答案 1 :(得分:2)

您还可以使用pkill替代killall

顺便提一句xargs如果你不想在没有要添加的参数的情况下执行命令,那么--no-run-if-empty选项会有{{1}}。