假设我想杀死所有包含amarok这个词的进程。我可以打印出我想要执行的命令。但是我如何让shell执行它们呢。ie。

ps aux | grep -ie amarok | awk '{print "kill -9 " $2}'
Output:
kill -9 3052
kill -9 3071
kill -9 3076
kill -9 3077
kill -9 3079
kill -9 3080
kill -9 3082
kill -9 3083
kill -9 3084
kill -9 3085
kill -9 3086
kill -9 3087
kill -9 3088
kill -9 3089
kill -9 4031

当前回答

我认为这个命令杀人正是你需要的。 该命令被描述为“按名称杀死进程”。它很容易使用。例如

killall chrome

该命令将关闭Chrome所有进程。这里有一个关于killall命令的链接

http://linux.about.com/library/cmd/blcmdl1_killall.htm

希望这个命令能帮助到你。

其他回答

ps aux | grep -ie amarok | awk '{print $2}' | xargs kill -9 

Xargs (1): Xargs——构造参数列表和执行实用程序。当你想将参数导入到诸如kill或ls等时,这很有用。

我认为这个命令杀人正是你需要的。 该命令被描述为“按名称杀死进程”。它很容易使用。例如

killall chrome

该命令将关闭Chrome所有进程。这里有一个关于killall命令的链接

http://linux.about.com/library/cmd/blcmdl1_killall.htm

希望这个命令能帮助到你。

try kill -s 9 ' ps -ef |grep "Nov 11" |grep -v grep | awk '{print $2}' ' '关闭11月11日的进程 或 Kill -s 9 ' ps -ef |grep amarok|grep -v grep | awk '{print $2}' ' 终止包含单词amarok的进程

也许添加命令到可执行文件,设置+x权限,然后执行?

ps aux | grep -ie amarok | awk '{print "kill -9 " $2}' > pk;chmod +x pk;./pk;rm pk

如果你想执行一个命令的输出,你可以把它放在$(…)里面,但是对于你的特定任务,看看killall和pkill命令。