一段通过关键字过滤并选择相应的进程kill的shell函数
killprog(){
n=0
# echo -e "$n) nothing"
ps -ef | grep $1 | grep -v grep | grep -v $$ | grep -v tail | grep -v vi > /tmp/ddc.txt
while read line
do
n=$(($n+1))
pid=`echo $line | cut -d " " -f 2`
pwdx=`pwdx $pid | cut -d " " -f 2-`
prog=`echo $line | cut -d " " -f 8-`
arr[n]="$pid : $pwdx > $prog"
if [ "$pwdx" = "$2" ]; then
echo "$n ${arr[n]}"
else
echo "$n) ${arr[n]}"
fi
done < /tmp/ddc.txt
if [ $n -gt 0 ]; then
echo -n "#? "
read index
if test "$index" ; then
for var in ${index[@]};
do
if [ $var -ne 0 ] ; then
if [ $var -le $n ] ; then
pid=`echo ${arr[var]} | cut -d " " -f 1`
kill -9 $pid
else
echo "error index $var"
exit 1
fi
fi
done
fi
fi
}
使用时可以一次选择多个同时kill