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
然后如果需要杀死进程名为 phpernote.php 的进程
则可直接执行如下命令:
killname phpernote.php
效果截图:
如果觉得上边的代码忒复杂,可以直接使用下面的一句来实现。
ps -ef | grep 进程名| grep -v grep | awk '{print $2}' | xargs kill -9