SHUTDOWN(8)

NOM
shutdown - Arrêter le système.

SYNOPSIS
/sbin/shutdown [-t sec] [-arkhncfFHP] heure [message-avertissement]

DESCRIPTION
shutdown arrête le système d'une façon sécurisée. Tous les utilisateurs connectés sont informés que le système va s'arrêter, et login(1) est bloqué. Il est possible d'arrêter le système immédiatement ou après un certain délai. En premier lieu, tous les processus sont informés que le système est en train de s'arrêter par le signal SIGTERM. Ceci donne le temps à des programmes comme vi(1) de sauvegarder le fichier en cours d'édition, la chance à des programmes de traitement de mails et de News de se terminer proprement, etc. shutdown fait son travail en envoyant un signal au processus init, lui demandant de modifier le niveau d'exécution. Le niveau d'exécution 0 est utilisé pour arrêter le système, le niveau 6 pour le redémarrer, et le niveau 1 pour le mettre dans un état où des tâches administratives peuvent être effectuées ; c'est le comportement par défaut si aucune des options -h et -r n'est donnée à shutdown. Pour voir quelles actions sont entreprises durant l'arrêt ou le redémarrage, voyez les entrées appropriées pour ces niveaux d'exécution dans le fichier /etc/inittab.

OPTIONS

-a  Utiliser /etc/shutdown.allow.

-t sec
    Indiquer à init(8) d'attendre sec secondes entre le moment de l'émission du signal d'avertissement et celui du signal de fin (kill) aux processus, avant d'effectuer un changement de niveau d'exécution.

-k  Ne pas réellement s'arrêter ; uniquement envoyer les messages d'avertissement à tous les processus.

-r  Redémarrer la machine après l'arrêt du système.

-h  Arrêter la machine après l'arrêt du système.

-H  Arrêter ou entrer dans le moniteur de démarrage sur les systèmes qui le supportent.

-P  Éteindre l'alimentation.

-n  [DÉPRÉCIÉ] Ne pas appeler init(8) mais le faire soi-même. L'utilisation de cette option est déconseillée, et ses résultats ne sont pas toujours ceux espérés.

-f  Ne pas effectuer de fsck en cas de redémarrage.

-F  Forcer l'utilisation de fsck en cas de redémarrage.

-c  Annuler un shutdown en cours. Avec cette option, il n'est évidemment pas possible de donner d'argument heure, mais vous pouvez entrer un message d'explication sur la ligne de commandes qui sera envoyé à tous les utilisateurs.

heure
    Quand effectuer le shutdown.

message-avertissement
    Message à envoyer à tous les utilisateurs.

L'argument heure peut avoir différents formats. Primo, il peut être dans le format absolu hh:mm, dans lequel hh est l'heure (1 ou 2 chiffres) et mm la minute de l'heure (sur deux chiffres). Secundo, il peut être au format +m, dans lequel m est le nombre de minutes à attendre. Le mot now est un synonyme pour +0.

Si shutdown est appelé avec un délai, il crée le fichier de recommandation /etc/nologin qui indique à des programmes comme login(1) de refuser les nouvelles connexions d'utilisateurs. shutdown supprime ce fichier s'il a été stoppé avant qu'il ait pu envoyer un signal à init (c.-à-d. s'il a été annulé ou si quelque chose s'est mal passé). Il le supprime également avant d'appeler init pour modifier le niveau d'exécution.

L'option -f signifie « redémarrage rapide ». Ceci crée uniquement un fichier de recommandation /fastboot qui peut être testé par le système quand il revient à la vie. Le fichier de démarrage rc peut tester si ce fichier existe, et décider de ne pas lancer fsck(1) puisque le système a été arrêté d'une manière propre. Après cela, le processus de démarrage devrait supprimer /fastboot.

L'option -F signifie « forcer le fsck ». Ceci crée uniquement un fichier de recommandation /forcefsck qui peut être testé par le système quand il revient à la vie. Le fichier de démarrage rc peut tester si ce fichier existe, et décider de lancer fsck(1) avec un drapeau spécial d'« obligation » afin que même les systèmes de fichiers correctement démontés soient vérifiés. Après cela, le processus de démarrage devrait supprimer /forcefsck.

L'option -n empêche shutdown d'appeler init, mais lui fait tuer les processus en cours d'exécution lui-même. shutdown désactive ensuite les quotas, les comptes et le swap, et démonte tous les systèmes de fichiers.

CONTRÔLE D'ACCÈS
shutdown peut être appelé à partir de init(8) quand les touches magiques CTRL-ALT-DEL sont pressées, en créant une entrée appropriée dans /etc/inittab. Cela signifie que tous ceux qui ont un accès physique au clavier de la console peuvent arrêter le système. Pour empêcher cela, shutdown peut vérifier si un utilisateur autorisé est connecté sur une des consoles virtuelles. Si shutdown est appelé avec l'argument -a (ajoutez cela à l'invocation de shutdown dans /etc/inittab), il vérifie si le fichier /etc/shutdown.allow est présent. Il compare ensuite les noms de connexion de ce fichier avec la liste des personnes qui sont connectées sur une console virtuelle (à partir de /var/run/utmp). Il ne poursuivra son exécution que si l'un des utilisateurs autorisés ou root est connecté. Sinon, il affichera le message

shutdown: no authorized users logged in

(aucun utilisateur autorisé connecté) sur la console (physique) du système. Le format de /etc/shutdown.allow est formé d'un nom d'utilisateur par ligne. Les lignes vides et les lignes de commentaires (commençant par un #) sont autorisées. Actuellement, il y a une limite de 32 utilisateurs dans ce fichier.

Notez que si /etc/shutdown.allow n'existe pas, l'argument -a est ignoré.

HALT OU POWEROFF
L'option -H ne fait que remplir la variable d'environnement INIT_HALT de init avec HALT, et l'option -P remplit cette variable avec POWEROFF. Le script d'arrêt qui appelle halt(8) comme dernière action dans la séquence d'arrêt devrait vérifier ces variables d'environnement et appeler halt(8) avec les bonnes options pour que ces options aient un effet. Debian 3.1 (sarge) supporte cela.

FICHIERS
/fastboot
/etc/inittab
/etc/init.d/halt
/etc/init.d/reboot
/etc/shutdown.allow

NOTES
Beaucoup d'utilisateurs oublient de donner l'argument heure et sont ensuite intrigués par le message d'erreur produit par shutdown. L'argument heure est obligatoire ; dans 90 % des cas, ce sera le mot now.

init ne peut capturer CTRL-ALT-DEL et exécuter shutdown qu'en mode console. Si le système exécute le système X Window, le serveur X gère toutes les frappes au clavier. Certains environnements X11 permettent de capturer CTRL-ALT-DEL, mais ce qui est fait exactement dépend de l'environnement.

shutdown n'a pas été conçu pour être exécuté dans le mode setuid. /etc/shutdown.allow n'est pas utilisé pour découvrir qui exécute shutdown, il ne fait QUE vérifier qui est actuellement connecté sur la (une des) console(s).

AUTEUR
Miquel van Smoorenburg, miquels@cistron.nl

VOIR AUSSI
fsck(8), halt(8), init(8), poweroff(8), reboot(8)

TRADUCTION

Ce document est une traduction réalisée par Frédéric Delanoy <delanoy_f AT yahoo DOT com> le 14 novembre 2001, mise à jour par lui-même le 25 juillet 2002 et révisée le 25 avril 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 8 shutdown ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.