Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- cd /root/rl-swarm || exit 1
- SCRIPT="./run_rl_swarm.sh"
- LOG="./rl_swarm.log"
- RESTART_INTERVAL=3600 # 1 час = 3600 сек
- while true; do
- echo ">>> Cleaning up old processes at $(date)" | tee -a "$LOG"
- pkill -9 -u "$(id -u)" python
- pkill -9 -f libp2p
- sleep 2
- echo ">>> Starting RL Swarm at $(date)" | tee -a "$LOG"
- bash "$SCRIPT" >> "$LOG" 2>&1 &
- PID=$!
- # Таймер перезапуска
- (
- sleep $RESTART_INTERVAL
- echo ">>> [Timer] $RESTART_INTERVAL sec passed. Restarting RL Swarm..." | tee -a "$LOG"
- kill "$PID" 2>/dev/null
- ) &
- # Лог-мониторинг на случай ошибок или выхода
- tail -n 0 -F "$LOG" | while read -r line; do
- echo "$line"
- echo "$line" | grep -q "EOFError"
- if [ $? -eq 0 ]; then
- echo ">>> [Crash] EOFError detected. Restarting..." | tee -a "$LOG"
- kill "$PID" 2>/dev/null
- break
- fi
- if ! kill -0 "$PID" 2>/dev/null; then
- echo ">>> [Exit] RL Swarm stopped. Restarting..." | tee -a "$LOG"
- break
- fi
- done
- echo ">>> Restarting in 5 seconds..." | tee -a "$LOG"
- sleep 5
- done
Advertisement
Add Comment
Please, Sign In to add comment