From 04ab97f5b6656f27bceda852a0e767a27f62188a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=9F=E5=85=89-k?= <36470587+kxgx@users.noreply.github.com> Date: Sun, 12 Jan 2025 16:21:45 +0800 Subject: [PATCH] Update clean.sh --- bin/clean.sh | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/bin/clean.sh b/bin/clean.sh index 9f27999..d5b31ca 100644 --- a/bin/clean.sh +++ b/bin/clean.sh @@ -2,26 +2,29 @@ f_name=clean.py dir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) -logdir=${dir%/*} -screen_name="clean_screen" +logdir=${dir%/*}/log service_name="raspi_e-Paper.service" hold_time_seconds=3 # 设置维持时间,例如300秒(5分钟) -# 创建一个新的screen会话并运行Python脚本 -screen -dmS $screen_name /usr/bin/python3 -u $dir/$f_name > $logdir/log/clean-info.log 2>&1 +# 创建日志目录,如果它不存在的话 +mkdir -p $logdir -# 等待维持时间 -echo "正在运行脚本,将在 ${hold_time_seconds} 秒后停止服务..." -sleep $hold_time_seconds - -# 停止raspi_e-Paper服务 +# 停止服务 echo "正在停止$service_name服务..." sudo systemctl stop $service_name -# 查找并结束所有与指定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 +# 使用nohup运行Python脚本,并将输出重定向到日志文件 +nohup /usr/bin/python3 -u $dir/$f_name > $logdir/clean-info.log 2>&1 & -echo "脚本运行完成,服务已停止,screen会话已结束。" +# 获取nohup进程的PID +nohup_pid=$! + +# 等待维持时间 +echo "正在运行脚本,将在 ${hold_time_seconds} 秒后继续..." +sleep $hold_time_seconds + +# 结束nohup进程 +echo "正在结束nohup进程..." +kill $nohup_pid + +echo "脚本运行完成,服务已停止,nohup进程已结束。"