77 lines
1.9 KiB
Bash
Executable File
77 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Player Status Checker
|
|
# Check if the player is running and healthy
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
HEARTBEAT_FILE="$SCRIPT_DIR/.player_heartbeat"
|
|
STOP_FLAG_FILE="$SCRIPT_DIR/.player_stop_requested"
|
|
LOG_FILE="$SCRIPT_DIR/player_watchdog.log"
|
|
|
|
echo "=========================================="
|
|
echo "Kivy Signage Player - Status Check"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
# Check for stop flag
|
|
if [ -f "$STOP_FLAG_FILE" ]; then
|
|
echo "🛑 Stop Flag: PRESENT (user requested exit)"
|
|
echo " Watchdog will not restart player"
|
|
echo " To restart: ./start.sh"
|
|
echo ""
|
|
fi
|
|
|
|
# Check if player process is running
|
|
PLAYER_PID=$(pgrep -f "python3 main.py" | head -1)
|
|
|
|
if [ -z "$PLAYER_PID" ]; then
|
|
echo "Status: ❌ NOT RUNNING"
|
|
echo ""
|
|
echo "Player process is not running"
|
|
else
|
|
echo "Status: ✓ RUNNING"
|
|
echo "PID: $PLAYER_PID"
|
|
echo ""
|
|
|
|
# Check heartbeat
|
|
if [ -f "$HEARTBEAT_FILE" ]; then
|
|
last_update=$(stat -c %Y "$HEARTBEAT_FILE" 2>/dev/null || echo 0)
|
|
current_time=$(date +%s)
|
|
diff=$((current_time - last_update))
|
|
|
|
echo "Heartbeat: $(date -d @${last_update} '+%Y-%m-%d %H:%M:%S')"
|
|
echo "Last update: ${diff}s ago"
|
|
|
|
if [ $diff -lt 60 ]; then
|
|
echo "Health: ✓ HEALTHY"
|
|
else
|
|
echo "Health: ⚠️ STALE (may be frozen)"
|
|
fi
|
|
else
|
|
echo "Heartbeat: Not found (player may be starting)"
|
|
fi
|
|
fi
|
|
|
|
echo ""
|
|
|
|
# Show watchdog status
|
|
if pgrep -f "start.sh" > /dev/null; then
|
|
echo "Watchdog: ✓ ACTIVE"
|
|
else
|
|
echo "Watchdog: ❌ NOT RUNNING"
|
|
echo ""
|
|
echo "To start with watchdog: ./start.sh"
|
|
fi
|
|
|
|
echo ""
|
|
|
|
# Show last few log entries
|
|
if [ -f "$LOG_FILE" ]; then
|
|
echo "=========================================="
|
|
echo "Recent Log Entries (last 10):"
|
|
echo "=========================================="
|
|
tail -10 "$LOG_FILE"
|
|
fi
|
|
|
|
echo ""
|