diff --git a/scripts/kill-all.sh b/scripts/kill-all.sh new file mode 100755 index 0000000..80f32c7 --- /dev/null +++ b/scripts/kill-all.sh @@ -0,0 +1,41 @@ +#!/bin/bash +set -e + +echo "Killing all infoscreen processes..." + +# Kill simclient.py +if pgrep -f "python3.*simclient.py" > /dev/null; then + pkill -f "python3.*simclient.py" + echo "✓ Killed simclient.py" +else + echo "✗ simclient.py not running" +fi + +# Kill display_manager.py +if pgrep -f "python3.*display_manager.py" > /dev/null; then + pkill -f "python3.*display_manager.py" + echo "✓ Killed display_manager.py" +else + echo "✗ display_manager.py not running" +fi + +# Kill any lingering Impressive processes +if pgrep -f "Impressive" > /dev/null; then + pkill -f "Impressive" || true + echo "✓ Killed Impressive" +fi + +# Kill any lingering chromium/chrome processes started by display_manager +if pgrep -f "chromium.*--kiosk" > /dev/null; then + pkill -f "chromium.*--kiosk" || true + echo "✓ Killed Chromium kiosk" +fi + +# Kill any lingering VLC processes +if pgrep -f "vlc" > /dev/null; then + pkill -f "vlc" || true + echo "✓ Killed VLC" +fi + +sleep 1 +echo "All processes terminated." diff --git a/scripts/restart-all.sh b/scripts/restart-all.sh new file mode 100755 index 0000000..cdbd7d4 --- /dev/null +++ b/scripts/restart-all.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -e + +cd "$(dirname "$0")/.." + +echo "Restarting infoscreen services..." + +# Kill existing processes first +./scripts/kill-all.sh + +sleep 2 + +# Load .env for environment variables +if [ -f .env ]; then + set -a + source .env + set +a +fi + +# Create log directory if it doesn't exist +mkdir -p logs + +# Start simclient.py with nohup (persists after SSH disconnect) +echo "Starting simclient.py..." +nohup ./scripts/start-dev.sh > logs/simclient.log 2>&1 & +SIMCLIENT_PID=$! +echo "✓ simclient.py started (PID: $SIMCLIENT_PID)" + +# Start display_manager.py with nohup (persists after SSH disconnect) +echo "Starting display_manager.py..." +nohup ./scripts/start-display-manager.sh > logs/display_manager.log 2>&1 & +DISPLAY_PID=$! +echo "✓ display_manager.py started (PID: $DISPLAY_PID)" + +echo "" +echo "Both services are running and will persist after SSH disconnect." +echo "" +echo "Monitor logs:" +echo " tail -f logs/simclient.log" +echo " tail -f logs/display_manager.log" +echo "" +echo "Kill processes:" +echo " ./scripts/kill-all.sh"