#!/bin/bash cd /home/node04/yuzhou/jiangcang_uo LOG_DIR=logs mkdir -p $LOG_DIR log() { echo "$(date '+%Y-%m-%d %H:%M:%S') $1" >> $LOG_DIR/control.log } log "=== 脚本开始执行 ===" START_TIME=$(date +%s) # 启动第一个任务(后台执行) /home/node04/anaconda3/bin/python -u main_pe.py >> $LOG_DIR/prediction.log 2>&1 & PID=$! log "main_pe.py 已启动,PID=$PID" # 最大等待时间(15分钟 = 900秒) TIMEOUT=900 while kill -0 $PID 2>/dev/null; do NOW=$(date +%s) ELAPSED=$((NOW - START_TIME)) if [ $ELAPSED -ge $TIMEOUT ]; then log "main_pe.py 超时(已运行 ${ELAPSED} 秒),开始执行 follow_up.py" break fi sleep 5 done # 如果是正常结束 if ! kill -0 $PID 2>/dev/null; then log "main_pe.py 正常结束(耗时 ${ELAPSED} 秒)" fi log "开始执行 follow_up.py" /home/node04/anaconda3/bin/python -u follow_up.py >> $LOG_DIR/keep.log 2>&1 log "=== 脚本执行结束 ==="