systemd-inhibit

Linux
Publiée le 2026-10-30 05:20:17
Illustration Linux pour la commande systemd-inhibit

systemd-inhibit

# Exemple simple pour empêcher l'arrêt pendant que tu fais une tâche longue
systemd-inhibit --what=shutdown --who="MonScript" --why="Tâche critique en cours" sleep 10

# Empêcher le système de dormir (sleep) et d'éteindre (shutdown)
systemd-inhibit --what=sleep:shutdown --who="ProcessusDeBackup" --why="Sauvegarde des données importantes" /bin/bash -c "echo 'Dormir bloqué...' && sleep 5"

# Utiliser le mode block-weak, qui est moins restrictif mais efficace
systemd-inhibit --what=sleep --mode=block-weak --who="AppGUI" --why="L'utilisateur utilise l'interface graphique" /bin/bash -c "echo 'Mode faible activé...' && sleep 5"

# Empêcher spécifiquement le changement d'état du capot (lid switch)
systemd-inhibit --what=handle-lid-switch --who="LectureDoc" --why="Je lis un livre sur mon portable" /bin/bash -c "echo 'Capot bloqué...' && sleep 5"

# Vérifier quels processus sont actuellement en train d'inhiber des actions
systemd-inhibit --list

# Exemple de blocage temporaire pour simuler une opération critique (10 secondes)
( systemd-inhibit --what=sleep --who="TestScript" --why="Test de blocage" sleep 10 ) &

# Attendre un peu pour que l'inhibiteur soit actif
sleep 2

# Tenter d'exécuter une commande qui devrait être bloquée (si le test ci-dessus fonctionne)
echo "Tentative d'action pendant le blocage..."

# Un autre exemple de blocage plus long avec des arguments explicites
systemd-inhibit --what=shutdown:idle --who="Maintenance" --why="Mise à jour système en cours" sleep 15

# Exemple pour un processus qui ne doit pas être interrompu par l'inactivité
systemd-inhibit --what=idle --who="StreamingVideo" --why="Visionnage de vidéo importante" /usr/bin/mpv video.mkv &

# Nettoyage : attendre que les inhibiteurs soient relâchés (ou tu peux utiliser 'kill')
sleep 16