Linux shell脚本实现根据进程名杀死进程的方法,免去每次都要先ps -ef|grep列出所有的进程,然后kill进程id的麻烦步骤。
提醒:以下仅供参考,实际上linux已经有相关的命令了,即 killall,下面的内容是还不知道这个命令的时候鼓捣的。
Shell脚本源码如下:
#!/bin/sh
#根据进程名杀死进程
if [ $# -lt 1 ]
then
echo "缺少参数:procedure_name"
exit 1
fi
PROCESS=`ps -ef|grep $1|grep -v grep|grep -v PPID|awk '{ print $2}'`
for i in $PROCESS
do
echo "Kill the $1 process [ $i ]"
kill -9 $i
done
保存该代码为可执行文件,比如:killname
然后如果需要杀死进程名为 sfjvip.php 的进程
则可直接执行如下命令:
killname sfjvip.php
效果截图:
如果觉得上边的代码忒复杂,可以直接使用下面的一句来实现。
ps -ef | grep 进程名| grep -v grep | awk '{print $2}' | xargs kill -9