相信我们在工作中经常会遇到的问题是,我们在服务上重启项目,我们一般是首先要找到对应模块名,然后再杀掉该进程,然后再重新项目,至少需要执行3个命令。
# 查找模块对应的进程
ps -ef|grep 模块名
# 杀掉对应进程
kill -9 进程号
#重启项目
./startup.sh
这样来说当然也是可以的,但是大家有没有觉得这个很麻烦,每次都要输入这么多命令,然后我们就会去思考能不能写个脚本直接把这三个命令直接执行就好了。
#/bin/bash
set -m
tomcatp=test_moduel
TOMCAT_PROCESS_backend=`ps -ef|grep ${tomcatp} | grep -v grep | awk '{print $2}'`
echo "${TOMCAT_PROCESS_backend}"
sleep 2
kill -9 ${TOMCAT_PROCESS_backend}
sleep 2
ps -ef|grep ${tomcatp}
nohup java -jar test_moduel.jar >test_moduel.out &
sleep 1
ps -ef|grep ${tomcatp}
exit 0