Linux : Comment se déconnecter, redémarrer et éteindre
Pour quitter le shell actuel sous Linux, vous pouvez utiliser exit ; pour redémarrer le système, utilisez sudo systemctl reboot ; et pour éteindre, utilisez sudo systemctl poweroff. Se déconnecter n'affecte que la session en cours, tandis que le redémarrage et l'arrêt affectent également les autres utilisateurs et services sur le serveur.
Vérifier avant exécution
Les exemples de redémarrage et d'arrêt dans cet article sont basés sur Linux utilisant systemd. Les commandes exécutées immédiatement peuvent affecter le travail non sauvegardé et les services en cours d'exécution, donc sauvegardez votre travail, informez les autres utilisateurs et exécutez-les pendant les heures de maintenance. Sur les serveurs, vérifiez les sauvegardes et l'impact sur les services.
Si vous êtes connecté via SSH, les commandes sont exécutées sur le serveur auquel vous êtes connecté, et non sur votre PC. Les commandes suivantes aident à vérifier la cible.
hostname
date
who
hostname affiche le nom d'hôte actuel, date affiche l'heure actuelle du serveur et son fuseau horaire, et who affiche une liste des utilisateurs présents dans les journaux de connexion. Vous ne pouvez pas identifier complètement le serveur uniquement par son nom, vérifiez donc également les informations fournies par l'outil de gestion. Les serveurs distants déconnecteront les connexions SSH lors du redémarrage, et après l'arrêt, il peut être impossible de les rallumer directement, vérifiez donc à l'avance la console ou le chemin de gestion de l'alimentation.
Se déconnecter du shell actuel
Pour quitter le shell actuel, exécutez la commande suivante.
exit
Lorsqu'il est exécuté dans le dernier shell d'une session SSH, il ferme généralement la connexion distante. Si vous êtes dans un shell imbriqué, revenez d'abord au shell extérieur. logout peut être utilisé lors de la sortie d'un shell de connexion, mais peut ne pas fonctionner dans un shell classique non de connexion. Se déconnecter ne coupe pas le système lui-même, et la poursuite des tâches en cours dépend des paramètres de session et de tâche.
Redémarrer ou éteindre immédiatement
Sur un système systemd, la commande suivante demande un redémarrage. Les services commencent à s'arrêter immédiatement après l'exécution, donc assurez-vous d'abord que la cible est correcte.
sudo systemctl reboot
Pour éteindre le système et couper l'alimentation, utilisez la commande suivante.
sudo systemctl poweroff
Les privilèges administratifs peuvent nécessiter sudo ou une authentification séparée selon l'environnement. L'état d'alimentation et la méthode de redémarrage des machines virtuelles ou des serveurs cloud peuvent varier en fonction des politiques de la plateforme de gestion. Après le redémarrage, reconnectez-vous et vérifiez que les services nécessaires fonctionnent correctement. halt, qui arrête le système, et poweroff, qui l'éteint, n'ont pas la même signification, choisissez donc la commande qui correspond à votre objectif.
Planification et annulation des redémarrages ou des arrêts
Vous pouvez planifier une opération avec shutdown. La commande suivante planifie un redémarrage dans 10 minutes.
sudo shutdown -r +10
-r est un redémarrage, +10 est 10 minutes à partir de l'heure actuelle. Pour éteindre l'alimentation 10 minutes plus tard, utilisez -P.
sudo shutdown -P +10
Vous pouvez également spécifier une heure spécifique avec HH:MM au format 24 heures. Par exemple, pour programmer un redémarrage à 23h30, heure du serveur, exécutez ce qui suit.
sudo shutdown -r 23:30
Avant d'exécuter, vérifiez l'heure du serveur et le fuseau horaire et assurez-vous que l'heure souhaitée n'est pas encore passée. Selon l'implémentation et la version, le traitement des heures déjà passées peut différer, et certaines versions peuvent commencer l'arrêt immédiatement. L'entrée d'une commande programmée affecte le système, donc ne l'exécutez pas sur un serveur de production uniquement pour tester.
Pour annuler une extinction programmée qui n'a pas encore commencé, exécutez la commande suivante.
sudo shutdown -c
Les annulations s'appliquent aux arrêts système en attente et peuvent appartenir à un autre administrateur, veuillez donc vérifier d'abord. Ce n'est pas une commande pour annuler un redémarrage ou un arrêt immédiat qui a déjà commencé. Dans certaines versions récentes de systemd, vous pouvez voir les arrêts en attente avec shutdown --show, mais certaines versions peuvent ne pas avoir cette option. Pour un comportement détaillé, consultez man shutdown sur votre système et la documentation systemd de shutdown.
Envoi de notifications seulement et dépannage
Le shutdown -k de systemd envoie des notifications aux utilisateurs connectés sans réellement éteindre ou redémarrer. Par exemple, la commande suivante envoie un message avec l'heure.
sudo shutdown -k +10 "Maintenance notice"
La façon dont les notifications sont reçues peut varier en fonction des sessions utilisateur et des paramètres du système, donc les annonces de travail importantes doivent également être transmises par des canaux séparés. -k n'est pas un arrêt planifié réel.
- Erreur de permission : Vérifiez les permissions sudo et la politique d'authentification du système.
- Commande ou option différente : Étant donné que le comportement peut varier en fonction de la distribution et du système d'initialisation, vérifiez
man shutdownetman systemctl. - Échec de la connexion après le redémarrage : Patientez suffisamment longtemps puis vérifiez l'état de l'alimentation, du réseau, de SSH et des services essentiels depuis la console de gestion.




