LAPTOP-1LHD2FP6\joeny 10 months ago
parent
commit
b7f5f40aa3
1 changed files with 14 additions and 17 deletions
  1. 14 17
      restart.sh

+ 14 - 17
restart.sh

@@ -1,31 +1,28 @@
 #!/bin/bash
 #!/bin/bash
+set -e
 
 
-# 查找并杀死监听端口 8084 的进程
-PID=$(ps aux | grep 'manage.py runserver 0.0.0.0:8084' | grep -v grep | awk '{print $2}')
+# 终止旧进程
+pkill -f "python.*manage.py runserver 0.0.0.0:8084" || true
+sleep 2
 
 
-if [ -z "$PID" ]; then
-    echo "No process found running on port 8084."
-else
-    kill -9 $PID
-    echo "Process $PID killed."
+# 检查端口
+if lsof -Pi :8084 -sTCP:LISTEN -t >/dev/null ; then
+    echo "Port 8084 is still in use. Exiting."
+    exit 1
 fi
 fi
 
 
 # 激活虚拟环境
 # 激活虚拟环境
 source venv/bin/activate
 source venv/bin/activate
 
 
-# 检查是否成功激活虚拟环境
-if [[ "$VIRTUAL_ENV" != "" ]]; then
-    echo "Virtual environment activated: $VIRTUAL_ENV"
-else
+if [[ "$VIRTUAL_ENV" == "" ]]; then
     echo "Failed to activate virtual environment"
     echo "Failed to activate virtual environment"
     exit 1
     exit 1
 fi
 fi
 
 
-# 安装依赖
-# pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
+echo "Virtual environment activated: $VIRTUAL_ENV"
 
 
-# 启动新的进程并保存 PID
-#nohup python manage.py runserver 0.0.0.0:8084 > nohup.out 2>&1 &  #49服务用这个
-nohup python3 manage.py runserver 0.0.0.0:8084 > nohup.out 2>&1 &  #正式服务用这个
+# 启动新进程
+exec nohup python manage.py runserver 0.0.0.0:8084 > nohup.out 2>&1 &
 echo $! > myapp.pid
 echo $! > myapp.pid
-echo "Application restarted with PID $(cat myapp.pid)"
+
+echo "New process started with PID $(cat myapp.pid)"