Quand j'émets ce qui suit:
Sudo shutdown now
..mon serveur Ubuntu 14.04 récemment mis en service ne s’arrête pas. Il s’arrête avec le message suivant:
* Stopping System V runlevel compatibility
Give root password for maintenance:
(or type Control-D to continue):
Si je tape le mot de passe root, la machine reste simplement là à l'invite du shell.
Traditionnellement, la commande Sudo shutdown now
vous amène au niveau d'exécution 1 (mode de récupération); cela se produira à la fois pour Upstart et SysV init. Pour obtenir ce que vous voulez, c'est-à-dire éteindre correctement l'ordinateur, vous devez attribuer le commutateur -h
à shutdown
name__.
Une chose à noter ici est que halt
va fermer tous les processus, éteindre les CPU et renvoyer le contrôle sur un moniteur ROM de la carte mère, obligeant l'utilisateur à appuyer sur le bouton d'alimentation pour couper l'alimentation. , alors que poweroff
après avoir éteint les CPU éteindra simplement l’alimentation, ce qui entraînera un arrêt correct.
Le commutateur -h
de shutdown
sera halt
ou poweroff
de l'ordinateur, la décision sera prise par le système bien que j'ai vu qu'il s'agirait normalement de poweroff
name__. Pour en être sûr, vous pouvez utiliser le commutateur -P
avec shutdown
à poweroff
de l'ordinateur.
Pour résumer, voici les commandes disponibles pour poweroff
( not not halt
name__) à un ordinateur:
Sudo shutdown -h now
Sudo shutdown -P now
Sudo poweroff
Sudo halt -p
Sudo init 0
Les commandes poweroff
et halt
invoquent essentiellement shutdown
(à l'exception du poweroff -f
). Sudo poweroff
et Sudo halt -p
sont exactement comme Sudo shutdown -P now
. La commande Sudo init 0
vous mènera au niveau d'exécution 0 ( shutdown ).
Maintenant, que se passe-t-il si vous voulez arrêter avec force, c’est-à-dire que vous ne voulez pas attendre que les processus se ferment normalement? Dans ce cas, vous pouvez utiliser:
Sudo poweroff -f
Cela n'utilisera pas shutdown
name__. Au lieu de cela, il invoquera l'appel système reboot(2)
(utilisé pour le redémarrage, l'extinction et l'arrêt) afin d'éteindre l'ordinateur instantanément.
Je suis pratiquement sûr que la commande correcte doit contenir l'option "-h" (arrêt). Essaye ça:
Sudo shutdown -h now
C'est un héritage de l'époque où la machine physique ne pouvait pas s'éteindre d'elle-même. Par exemple, la commande d'arrêt Sudo halt
termine tous les programmes et décharge presque tout de la RAM, prêt à mettre hors tension. Cependant, si vous exécutez Sudo halt -p
, il fera tout cela, puis signalez au système de se mettre hors tension ou, dans le cas de la commande shutdown
, vous avez besoin de l'option -a
, je crois, bien que j'utilise personnellement halt
.