#!/bin/sh
function PidFind()
{
PIDCOUNT=`ps -ef | grep $1 | grep -v "grep" | grep -v $0 | awk '{print $2}' | wc -l`;
if [ ${PIDCOUNT} -gt 1 ] ; then
echo "There are too many process contains name[$1]"
elif [ ${PIDCOUNT} -le 0 ] ; then
echo "No such process[$1]!"
else
PID=`ps -ef | grep $1 | grep -v "grep" | grep -v ".sh" | awk '{print $2}'` ;
echo "Find the PID of this progress!--- process:$1 PID=[${PID}] ";
echo "Kill the process $1 ...";
kill -9 ${PID};
echo "kill -9 ${PID} $1 done!";
fi
}
#PidFind your_file_Name
PidFind hello
exit 1
$0 ——Shell本身的文件名
$1~$n ——添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
grep -v 是反向查找的意思,比如 grep -v grep 就是查找不含有 grep 字段的行
awk,更适合文本格式化,对文本进行较复杂的格式处理