134 lines
2.8 KiB
Bash
Executable File
134 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "🛑 Arrêt du Système Notarial 4NK"
|
|
echo "================================="
|
|
echo
|
|
|
|
# Couleurs pour les messages
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m' # No Color
|
|
|
|
print_status() {
|
|
echo -e "${BLUE}[INFO]${NC} $1"
|
|
}
|
|
|
|
print_success() {
|
|
echo -e "${GREEN}[SUCCESS]${NC} $1"
|
|
}
|
|
|
|
print_warning() {
|
|
echo -e "${YELLOW}[WARNING]${NC} $1"
|
|
}
|
|
|
|
print_error() {
|
|
echo -e "${RED}[ERROR]${NC} $1"
|
|
}
|
|
|
|
# Arrêt de l'API
|
|
stop_api() {
|
|
print_status "Arrêt de l'API Notariale..."
|
|
|
|
if [ -f "logs/api.pid" ]; then
|
|
API_PID=$(cat logs/api.pid)
|
|
if kill -0 $API_PID 2>/dev/null; then
|
|
kill $API_PID
|
|
print_success "API arrêtée (PID: $API_PID)"
|
|
else
|
|
print_warning "API déjà arrêtée"
|
|
fi
|
|
rm -f logs/api.pid
|
|
else
|
|
print_warning "Fichier PID de l'API non trouvé"
|
|
fi
|
|
}
|
|
|
|
# (IHM supprimée) — plus d'arrêt d'interface web
|
|
|
|
# Arrêt des services Docker
|
|
stop_docker_services() {
|
|
print_status "Arrêt des services Docker..."
|
|
|
|
cd infra
|
|
|
|
# Arrêt des services
|
|
docker-compose down
|
|
|
|
print_success "Services Docker arrêtés"
|
|
|
|
cd ..
|
|
}
|
|
|
|
# Nettoyage des processus orphelins
|
|
cleanup_orphaned_processes() {
|
|
print_status "Nettoyage des processus orphelins..."
|
|
|
|
# Recherche et arrêt des processus uvicorn
|
|
UVICORN_PIDS=$(pgrep -f "uvicorn.*app:app")
|
|
if [ ! -z "$UVICORN_PIDS" ]; then
|
|
echo $UVICORN_PIDS | xargs kill
|
|
print_success "Processus uvicorn orphelins arrêtés"
|
|
fi
|
|
|
|
# (IHM supprimée) — pas de processus web à arrêter
|
|
}
|
|
|
|
# Affichage du statut final
|
|
show_final_status() {
|
|
echo
|
|
echo "✅ Système Notarial 4NK arrêté"
|
|
echo "==============================="
|
|
echo
|
|
echo "📊 Statut des services:"
|
|
|
|
# Vérification de l'API
|
|
if curl -s http://localhost:8000/api/health &> /dev/null; then
|
|
echo " • API: ${RED}Encore actif${NC}"
|
|
else
|
|
echo " • API: ${GREEN}Arrêté${NC}"
|
|
fi
|
|
|
|
# (IHM supprimée) — pas d'interface web
|
|
|
|
# Vérification des services Docker
|
|
cd infra
|
|
if docker-compose ps | grep -q "Up"; then
|
|
echo " • Services Docker: ${RED}Encore actifs${NC}"
|
|
else
|
|
echo " • Services Docker: ${GREEN}Arrêtés${NC}"
|
|
fi
|
|
cd ..
|
|
|
|
echo
|
|
echo "🔧 Pour redémarrer: ./start_notary_system.sh"
|
|
echo
|
|
}
|
|
|
|
# Fonction principale
|
|
main() {
|
|
echo "Arrêt du système à $(date)"
|
|
echo
|
|
|
|
# Arrêt de l'API
|
|
stop_api
|
|
|
|
# (IHM supprimée) — pas d'arrêt d'interface web
|
|
|
|
# Arrêt des services Docker
|
|
stop_docker_services
|
|
|
|
# Nettoyage des processus orphelins
|
|
cleanup_orphaned_processes
|
|
|
|
# Attente pour que les processus se terminent
|
|
sleep 2
|
|
|
|
# Affichage du statut final
|
|
show_final_status
|
|
}
|
|
|
|
# Exécution du script principal
|
|
main "$@"
|