feat:更新启动脚本 防止误杀进程
This commit is contained in:
parent
398f729991
commit
eff85c91db
@ -2,31 +2,61 @@
|
|||||||
|
|
||||||
VENV_DIR=".venv"
|
VENV_DIR=".venv"
|
||||||
PYTHON_APP="main.py"
|
PYTHON_APP="main.py"
|
||||||
|
LOG_FILE="output.log"
|
||||||
|
PID_FILE="app.pid"
|
||||||
|
|
||||||
start_app() {
|
start_app() {
|
||||||
|
if [ ! -d "$VENV_DIR" ]; then
|
||||||
|
echo -e "\033[31m Virtual environment directory $VENV_DIR not found! \033[0m"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f "$PYTHON_APP" ]; then
|
||||||
|
echo -e "\033[31m Python application $PYTHON_APP not found! \033[0m"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
source "$VENV_DIR/bin/activate"
|
source "$VENV_DIR/bin/activate"
|
||||||
nohup python3 $PYTHON_APP > output.log 2>&1 &
|
nohup python3 "$PYTHON_APP" > "$LOG_FILE" 2>&1 &
|
||||||
|
echo $! > "$PID_FILE"
|
||||||
echo -e "\033[32m Application started! \033[0m"
|
echo -e "\033[32m Application started! \033[0m"
|
||||||
}
|
}
|
||||||
|
|
||||||
stop_app() {
|
stop_app() {
|
||||||
pid=$(ps aux | grep $PYTHON_APP | grep -v grep | awk '{print $2}')
|
if [ ! -f "$PID_FILE" ]; then
|
||||||
if [ -n "$pid" ]; then
|
echo -e "\033[31m PID file not found! \033[0m"
|
||||||
kill $pid
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
pid=$(cat "$PID_FILE")
|
||||||
|
if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then
|
||||||
|
kill "$pid"
|
||||||
|
rm "$PID_FILE"
|
||||||
echo -e "\033[32m Application ended! \033[0m"
|
echo -e "\033[32m Application ended! \033[0m"
|
||||||
else
|
else
|
||||||
echo -e "\033[31m Application not runing! \033[0m"
|
echo -e "\033[31m Application not running or PID not found! \033[0m"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
check_app_status() {
|
check_app_status() {
|
||||||
pid=$(ps aux | grep $PYTHON_APP | grep -v grep | awk '{print $2}')
|
if [ ! -f "$PID_FILE" ]; then
|
||||||
if [ -n "$pid" ]; then
|
echo -e "\033[31m Application not running! \033[0m"
|
||||||
echo -e "PID:" $pid
|
exit 1
|
||||||
echo -e "\033[32m Application runing! \033[0m"
|
|
||||||
else
|
|
||||||
echo -e "\033[31m Application not runing! \033[0m"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
pid=$(cat "$PID_FILE")
|
||||||
|
if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then
|
||||||
|
echo -e "PID: $pid"
|
||||||
|
echo -e "\033[32m Application running! \033[0m"
|
||||||
|
else
|
||||||
|
echo -e "\033[31m Application not running! \033[0m"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
restart_app() {
|
||||||
|
stop_app
|
||||||
|
start_app
|
||||||
|
echo -e "\033[32m Application restarted! \033[0m"
|
||||||
}
|
}
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
@ -39,8 +69,11 @@ case "$1" in
|
|||||||
status)
|
status)
|
||||||
check_app_status
|
check_app_status
|
||||||
;;
|
;;
|
||||||
|
restart)
|
||||||
|
restart_app
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo -e "\033[33m Usage: $0 {start|stop|status}\033[0m"
|
echo -e "\033[33m Usage: $0 {start|stop|status|restart} \033[0m"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
Loading…
x
Reference in New Issue
Block a user