Pue*_*Pop 240 shell command-line kill
假设我想杀死包含amarok这个词的每个进程.我可以打印出我想要执行的命令.但是我如何实际让shell执行它们.即.
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
Run Code Online (Sandbox Code Playgroud)
Tim*_*awa 395
从 man 1 pkill
-f The pattern is normally only matched against the process name.
When -f is set, the full command line is used.
Run Code Online (Sandbox Code Playgroud)
这意味着,例如,如果我们看到这些行ps aux:
apache 24268 0.0 2.6 388152 27116 ? S Jun13 0:10 /usr/sbin/httpd
apache 24272 0.0 2.6 387944 27104 ? S Jun13 0:09 /usr/sbin/httpd
apache 24319 0.0 2.6 387884 27316 ? S Jun15 0:04 /usr/sbin/httpd
Run Code Online (Sandbox Code Playgroud)
我们可以使用pkill -f选项将它们全部杀掉:
pkill -f httpd
Run Code Online (Sandbox Code Playgroud)
Nek*_*ios 191
ps aux | grep -ie amarok | awk '{print $2}' | xargs kill -9
Run Code Online (Sandbox Code Playgroud)
xargs(1):xargs - 构造参数列表和执行实用程序.想要将参数传递给类似kill或类似的东西时很有ls用.
Eri*_*tis 46
使用 pgrep
kill -9 $(pgrep amarok)
Run Code Online (Sandbox Code Playgroud)
Joh*_*tts 26
安全的方法是:
pkill -f amarok
Run Code Online (Sandbox Code Playgroud)
and*_*yue 17
我认为这个命令killall正是你所需要的.该命令被描述为"按名称杀死进程".它易于使用.例如
killall chrome
Run Code Online (Sandbox Code Playgroud)
此命令将终止Chrome的所有进程.这是一个关于killall命令的链接
http://linux.about.com/library/cmd/blcmdl1_killall.htm
希望这个命令可以帮到你.
use*_*878 11
pkill -x完全匹配进程名称.
pkill -x amarok
Run Code Online (Sandbox Code Playgroud)
pkill -f类似但允许正则表达式模式.
请注意,没有其他参数的pkill(例如-x,-f)将允许对进程名称进行部分匹配.所以"pkill amarok"会杀死amarok,amarokBanana,bananaamarok等.
我希望-x是默认行为!
小智 6
尝试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 的进程