当前位置: 技术问答>linux和unix
如何用shell语句(不用人为判断)kill掉进程列表中所有进程名为aaa的进程?
来源: 互联网 发布时间:2015-05-14
本文导语: 该如何写?最好能用一条语句实现,谢谢! | grep后面增加一个-w 选项就可以避免选中aaal之类的进程了。 | 一条语句不好实现吧: #!/bin/sh proglist=`ps -ef|grep aaa|grep ^grep` for ...
该如何写?最好能用一条语句实现,谢谢!
|
grep后面增加一个-w 选项就可以避免选中aaal之类的进程了。
|
一条语句不好实现吧:
#!/bin/sh
proglist=`ps -ef|grep aaa|grep ^grep`
for progname in $proglist
do
kill -9 $progname
done
这个shell大多数情况下可以正确运作,要想精确匹配用awk
#!/bin/sh
proglist=`ps -ef|grep aaa|grep ^grep`
for progname in $proglist
do
kill -9 $progname
done
这个shell大多数情况下可以正确运作,要想精确匹配用awk
|
我的更简单
ps -ef|grep aaa|sort -nr +X |awk '{if(int($X)>0) printf"kill -9 %sn",$X}'|sh - # "X"为pid的字端顺序号
# sort -nr +X 用于倒序排列
# int($X)>0 用于判断输入的pid的合理性
ps -ef|grep aaa|sort -nr +X |awk '{if(int($X)>0) printf"kill -9 %sn",$X}'|sh - # "X"为pid的字端顺序号
# sort -nr +X 用于倒序排列
# int($X)>0 用于判断输入的pid的合理性