killall abcxx
方法一
使用ps -N命令查找指定进程,然后使用grep $1将查找结果保存到tmptmptmp文件中,接着使用awk ‘{print $1}’ tmptmptmp命令获取进程的PID,最后使用kill -9 $tmp命令杀死指定的进程。
#!/bin/sh
echo "Killall Shell"
if [ ! $1 ];
then
echo "try again,please must input progress name"
return
fi
echo "progress name is: $1"
ps -N |grep $1 >tmptmptmp
tmp=$(awk '{print $1}' tmptmptmp)# 从tmptmptmp文件中获取第一列的内容,并将其保存到tmp变量中
kill -9 $tmp
rm tmptmptmp
方法二
使用grep命令搜索指定进程名($progressname),然后使用grep -v grep和grep -v bash过滤掉grep和bash进程,最后使用awk命令获取进程的PID($1),并将其存储在变量pid中。
#!/bin/sh
echo "Killall Shell"
if [ ! $1 ];
then
echo "try again,please must input progress name"
return
fi
echo "progress name is: $1"
progressname=$1
pid=$(ps x | grep $progressname | grep -v grep | grep -v bash | awk '{print $1}')# 从输入的文本中提取第一个字段,并将其打印出来
echo "pid is $pid"
kill -9 $pid