更新 start.sh

This commit is contained in:
星光-k
2025-01-13 17:22:29 +00:00
committed by GitHub
parent ac7c8b2378
commit 5aed29edac

View File

@@ -3,34 +3,13 @@
f_name=main.py
dir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
logdir=${dir%/*}
screen_name="main_screen"
# 函数杀死所有运行的main.py进程
kill_process() {
pid=$(ps -ef | grep "$dir/$f_name" | grep -v grep | awk '{print $2}')
if [ ! -z "$pid" ]; then
for id in $pid; do
kill -9 $id
done
fi
}
# 查找并结束所有与指定screen_name相关的screen会话
pids=$(screen -ls | grep $screen_name | awk -F '.' '{print $1}' | awk '{print $1}')
for pid in $pids; do
screen -S $pid -X quit
done
# 函数启动main.py
start_process() {
nohup /usr/bin/python3 -u "$dir/$f_name" > "$logdir/log/info.log" 2>&1 &
}
# 杀死所有已存在的main.py进程
kill_process
# 启动main.py
start_process
# 无限循环检查main.py是否在运行
while true; do
sleep 180 # 每180秒检查一次
pid=$(ps -ef | grep "$dir/$f_name" | grep -v grep | awk '{print $2}')
if [ -z "$pid" ]; then
echo "main.py is not running, restarting..."
start_process
fi
done
# 创建一个新的screen会话并运行Python脚本
screen -dmS $screen_name /usr/bin/python3 -u $dir/$f_name > $logdir/log/info.log 2>&1