Files
vision-anti-pinch/scripts/stop.sh
T

14 lines
516 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
root="$(cd "$(dirname "$0")/.." && pwd)"
pidfile="$root/logs/camera.pid"
[[ -f "$pidfile" ]] || { echo 'Not running'; exit 0; }
pid=$(cat "$pidfile")
if [[ "$pid" =~ ^[0-9]+$ ]] && kill -0 "$pid" 2>/dev/null; then
grep -zFq "$root/run_camera.py" "/proc/$pid/cmdline" || { echo 'PID belongs to another process; refusing to stop'; exit 1; }
kill -TERM "$pid"
for _ in {1..30}; do kill -0 "$pid" 2>/dev/null || break; sleep .2; done
fi
rm -f "$pidfile"
echo 'Stop requested'