dimamachine

Untitled

Jul 8th, 2025
333
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. cd /root/rl-swarm || exit 1
  4.  
  5. SCRIPT="./run_rl_swarm.sh"
  6. LOG="./rl_swarm.log"
  7. RESTART_INTERVAL=3600 # 1 час = 3600 сек
  8.  
  9. while true; do
  10. echo ">>> Cleaning up old processes at $(date)" | tee -a "$LOG"
  11. pkill -9 -u "$(id -u)" python
  12. pkill -9 -f libp2p
  13. sleep 2
  14.  
  15. echo ">>> Starting RL Swarm at $(date)" | tee -a "$LOG"
  16. bash "$SCRIPT" >> "$LOG" 2>&1 &
  17. PID=$!
  18.  
  19. # Таймер перезапуска
  20. (
  21. sleep $RESTART_INTERVAL
  22. echo ">>> [Timer] $RESTART_INTERVAL sec passed. Restarting RL Swarm..." | tee -a "$LOG"
  23. kill "$PID" 2>/dev/null
  24. ) &
  25.  
  26. # Лог-мониторинг на случай ошибок или выхода
  27. tail -n 0 -F "$LOG" | while read -r line; do
  28. echo "$line"
  29.  
  30. echo "$line" | grep -q "EOFError"
  31. if [ $? -eq 0 ]; then
  32. echo ">>> [Crash] EOFError detected. Restarting..." | tee -a "$LOG"
  33. kill "$PID" 2>/dev/null
  34. break
  35. fi
  36.  
  37. if ! kill -0 "$PID" 2>/dev/null; then
  38. echo ">>> [Exit] RL Swarm stopped. Restarting..." | tee -a "$LOG"
  39. break
  40. fi
  41. done
  42.  
  43. echo ">>> Restarting in 5 seconds..." | tee -a "$LOG"
  44. sleep 5
  45. done
Advertisement
Add Comment
Please, Sign In to add comment