#!/bin/bash cd /home/node04/yuzhou/jiangcang_vj 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 main_pe_0.py >> $LOG_DIR/prediction.log 2>&1 & PID=$! log "main_pe_0.py 已启动,PID=$PID" # 最大等待时间(22分钟 = 1320秒) TIMEOUT=1320 while kill -0 $PID 2>/dev/null; do NOW=$(date +%s) ELAPSED=$((NOW - START_TIME)) if [ $ELAPSED -ge $TIMEOUT ]; then log "main_pe_0.py 超时(已运行 ${ELAPSED} 秒),开始执行 follow_up.py" break fi sleep 5 done # 如果是正常结束 if ! kill -0 $PID 2>/dev/null; then log "main_pe_0.py 正常结束(耗时 ${ELAPSED} 秒)" fi log "开始执行 follow_up.py" /home/node04/anaconda3/bin/python follow_up.py >> $LOG_DIR/keep.log 2>&1 log "=== 脚本执行结束 ==="