|
@@ -1,31 +1,28 @@
|
|
|
#!/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
|
|
|
|
|
|
# 激活虚拟环境
|
|
|
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"
|
|
|
exit 1
|
|
|
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 "Application restarted with PID $(cat myapp.pid)"
|
|
|
+
|
|
|
+echo "New process started with PID $(cat myapp.pid)"
|