#/bin/sh
for cc in `ps -ax | awk '/virtualbox/ {print $1","$5}'` ; do
if [ "`echo $cc | awk -F"," '{print $2}'`" != "awk" ] ; then
echo $cc
kill `echo $cc | awk -F"," '{print $1}'`
fi
done
因为 virtualbox 随机出现 开启不了 而停在进度条的情况,等了许久才到 20% ,所以弄了这么个东西,关闭所有 virtualbox 进程,重新来过.哈哈.
里面考虑到 awk 进程也带有 “virtualbox” 所以 需要 剔除.开始时不知道 awk 条件中 怎么 剔除掉.
现在 用这个 更简单
#/bin/sh
for cc in `ps -ax | awk ' $5~"virtualbox"&&$5!="awk" {print $1}'` ; do
kill $cc
done
就是用 awk 分析 ps -ax 命令中的文本流,找出 包含 “virtualbox” 且 不是 “awk” 的那些进程,交给 for 循环 逐个中断之.