run_vj.sh 977 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/bin/bash
  2. cd /home/node04/yuzhou/jiangcang_vj
  3. LOG_DIR=logs
  4. mkdir -p $LOG_DIR
  5. log() {
  6. echo "$(date '+%Y-%m-%d %H:%M:%S') $1" >> $LOG_DIR/control.log
  7. }
  8. log "=== 脚本开始执行 ==="
  9. START_TIME=$(date +%s)
  10. # 启动第一个任务(后台执行)
  11. /home/node04/anaconda3/bin/python main_pe_0.py >> $LOG_DIR/prediction.log 2>&1 &
  12. PID=$!
  13. log "main_pe_0.py 已启动,PID=$PID"
  14. # 最大等待时间(22分钟 = 1320秒)
  15. TIMEOUT=1320
  16. while kill -0 $PID 2>/dev/null; do
  17. NOW=$(date +%s)
  18. ELAPSED=$((NOW - START_TIME))
  19. if [ $ELAPSED -ge $TIMEOUT ]; then
  20. log "main_pe_0.py 超时(已运行 ${ELAPSED} 秒),开始执行 follow_up.py"
  21. break
  22. fi
  23. sleep 5
  24. done
  25. # 如果是正常结束
  26. if ! kill -0 $PID 2>/dev/null; then
  27. log "main_pe_0.py 正常结束(耗时 ${ELAPSED} 秒)"
  28. fi
  29. log "开始执行 follow_up.py"
  30. /home/node04/anaconda3/bin/python follow_up.py >> $LOG_DIR/keep.log 2>&1
  31. log "=== 脚本执行结束 ==="