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
效果截图:
如果觉得上边的代码忒复杂,可以直接使用下面的一句来实现。
ps -ef | grep procedure_name | grep -v grep | awk '{print $2}' | xargs kill -9
平时更新线上文件时,可以手动或使用第三方工具自动上传到服务器指定目录,然后执行下面这段代码,就可以实现自动更新。
ps -ef | grep 进程名称 | grep -v grep | awk '{print $2}' | xargs kill -9 && mv 源文件 目标目录 && 运行指定脚本