- start.sh: background par défaut, PID tracké, --foreground pour debug - stop.sh: arrêt propre avec grace period 5s + force kill - status.sh: running/stopped, vérification port, exit code scriptable - getting-started: docs mis à jour (plus de nohup/kill manuels) - .gitignore: .brain-engine.pid
34 lines
824 B
Bash
Executable File
34 lines
824 B
Bash
Executable File
#!/bin/bash
|
|
# brain-engine/stop.sh — Arrêt propre
|
|
# Usage : bash brain-engine/stop.sh
|
|
|
|
BRAIN_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
PIDFILE="$BRAIN_ROOT/.brain-engine.pid"
|
|
|
|
if [ ! -f "$PIDFILE" ]; then
|
|
echo "brain-engine n'est pas démarré (pas de PID tracké)"
|
|
exit 0
|
|
fi
|
|
|
|
PID=$(cat "$PIDFILE")
|
|
|
|
if kill -0 "$PID" 2>/dev/null; then
|
|
kill "$PID"
|
|
# Attendre l'arrêt propre (max 5s)
|
|
for i in $(seq 1 10); do
|
|
kill -0 "$PID" 2>/dev/null || break
|
|
sleep 0.5
|
|
done
|
|
|
|
if kill -0 "$PID" 2>/dev/null; then
|
|
echo "⚠️ brain-engine ne répond pas — force kill"
|
|
kill -9 "$PID" 2>/dev/null
|
|
fi
|
|
|
|
rm -f "$PIDFILE"
|
|
echo "✅ brain-engine arrêté (PID $PID)"
|
|
else
|
|
rm -f "$PIDFILE"
|
|
echo "brain-engine n'était plus actif (PID $PID stale — nettoyé)"
|
|
fi
|