Linux上使用shell脚本快速kill掉进程并重启对应的服务

每次打包重新部署服务的时候,都需要先ps,然后再kill掉对应的进程,再java -jar启动服务

每次都这样就会感觉有点繁琐,所以,可以写个shell脚本来执行,来快速自动的找到对应的进程号,然后自动的把它kill掉,自动的java -jar重启服务

echo "************ qtyc_car_owner killAndStart, Begin... **************"
#得到对应服务的进程号
str=`ps -ef | grep qtyc_car_owner-1.0-SNAPSHOT.jar | grep -v "grep"|awk '{print $2}'`
kill -9 $str
if [ "$?" -eq 0 ]; then
	echo "killed pid is "$str
    echo "kill success"
else
    echo "kill failed"
fi

nowDate=`date +"%Y-%m-%d"`
#进入对应的目录,重启服务
cd /usr/jsfs/
nohup java -jar qtyc_car_owner-1.0-SNAPSHOT.jar  > nohup.log 2&>car_owner-$nowDate.log &

nowstr=`ps -ef | grep qtyc_car_owner-1.0-SNAPSHOT.jar | grep -v "grep"|awk '{print $2}'`
#打印出现在新的进程号
echo "now pid is "$nowstr
echo "************ ok! Start Success... **************"

脚本写好后,ll一下可以看到这个 .sh文件默认是不能执行的

所以,需要用chmod命令给脚本赋上执行的权限

chmod 744 car_owner_killAndStart.sh

执行完上边的命令后,再来看一下,可以看到已经变成绿色的可执行文件了。

咱们来执行一下,可以看到已经打印出执行成功了

ps看一下对应的服务是不是也正常启动了

可以看到对应的服务也自动的启动起来了

发布了108 篇原创文章 · 获赞 103 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/ju_362204801/article/details/105488163