systemd-inhibit
Linux
Publiée le
2026-10-30 05:20:17
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