diff --git a/ansible/roles/litellm/files/funk-cluster b/ansible/roles/litellm/files/funk-cluster index e20978e..a0c418f 100644 --- a/ansible/roles/litellm/files/funk-cluster +++ b/ansible/roles/litellm/files/funk-cluster @@ -507,12 +507,22 @@ cmd_stop() { echo "" echo "[ storage-01 — démontage RAID5 /srv/data ]" stop_service nfs-server + + # Tuer les process fils qui survivent hors du cgroup systemd (ex: Python spawné par hermes) + local zombie_pids + zombie_pids=$(lsof /srv/data 2>/dev/null | awk 'NR>1 {print $2}' | sort -u) + if [ -n "$zombie_pids" ]; then + info "Process encore actifs sur /srv/data — SIGKILL..." + echo "$zombie_pids" | xargs kill -9 2>/dev/null || true + sleep 1 + fi + sync info "Flush buffers disque (sync)..." if umount /srv/data 2>/dev/null; then ok "/srv/data démonté proprement" else - warn "umount /srv/data échoué — processus encore actif :" + warn "umount /srv/data échoué malgré SIGKILL — processus restants :" lsof /srv/data 2>/dev/null | awk 'NR<=6' || true warn "Extinction quand même — systemd finalisera le démontage" fi