1 概述
我们在部署时,经常需要重启服务,一般的流程是先终止旧服务进程,再启动新服务。这涉及好几个步骤,手动操作比较麻烦。这里写了一个脚本,连续执行这些动作。
2 代码
创建一个 restart.sh 脚本,内容如下:
#!/bin/bash
#自动关闭旧服务,启动新服务
APP_NAME=app
START_CMD="python3.9 -m http.server 53230"
echo "开始停止旧服务"
pid=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}'`
if [ "$pid" ]; then
sudo kill -9 $pid
fi
echo "停止旧服务成功"
sleep 1
echo "开始启动新服务"
sudo nohup $START_CMD >>nohup.out &
echo "新服务启动完成"
tail -fn 200 nohup.out
使用时,只需要将内容中的APP_NAME 和 START_CMD 的变量值替换成实际情况的,然后执行 sh restart.sh 命令即可。