Pourquoi ne pas lancer "sudo shutdown now"?

69

Lorsque j'émets les éléments suivants:

sudo shutdown now

.. mon serveur Ubuntu 14.04 nouvellement 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 saisis le mot de passe root, la machine reste simplement à l'invite du shell.

    
posée Jon Cage 26.01.2015 - 21:18
la source

4 réponses

116

Traditionnellement, la commande sudo shutdown now vous amènera 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 arrêter l’ordinateur correctement, vous devez attribuer le% cnde%% à -h .

Une chose à noter ici est que shutdown fermera tous les processus, éteindra les processeurs et renverra le contrôle à un moniteur ROM de la carte mère nécessitant que l'utilisateur appuie sur le bouton d'alimentation pour couper l'alimentation, alors que halt après avoir éteint les processeurs, il suffit de couper l'alimentation, ce qui entraîne un arrêt correct.

Le commutateur poweroff de -h sera shutdown ou halt l'ordinateur, la décision sera prise par le système bien que dans Ubuntu, j'ai vu qu'il% normalement poweroff la machine. Pour être sûr de cela, vous pouvez utiliser le commutateur poweroff avec -P à shutdown l'ordinateur.

Pour résumer, voici les commandes disponibles pour poweroff ( pas poweroff ) un ordinateur:

sudo shutdown -h now
sudo shutdown -P now
sudo poweroff
sudo halt -p
sudo init 0

Les commandes halt et poweroff invoquent essentiellement halt (sauf pour shutdown ). poweroff -f et sudo poweroff sont exactement comme sudo halt -p . La commande sudo shutdown -P now vous amènera au niveau d'exécution 0 ( shutdown ).

Maintenant, que faire si vous voulez vous 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 sudo init 0 . Il invoquera plutôt l'appel système shutdown (utilisé pour le redémarrage, la mise sous tension et l'arrêt) pour mettre l'ordinateur hors tension. instantanément.

    
réponse donnée heemayl 26.01.2015 - 21:42
la source
15

Je suis sûr que la commande correcte doit contenir l'option "-h" (halt). Essayez ceci:

sudo shutdown -h now
    
réponse donnée pille1842 26.01.2015 - 21:22
la source
5

C'est un héritage des jours où la machine physique ne pouvait pas s'éteindre d'elle-même. Par exemple, la commande halt sudo halt met fin à tous les programmes et décharge presque tout de la RAM, ready à mettre hors tension. Cependant, si vous exécutez sudo halt -p , il fera tout cela, puis signalera au système de se mettre hors tension ou, dans le cas de la commande shutdown , l'option -a , bien que j'utilise personnellement halt .

    
réponse donnée John Cave 27.01.2015 - 01:11
la source
-1

J'ai toujours utilisé les éléments suivants

sudo shutdown -a now

ou pour redémarrer immédiatement après l'arrêt

sudo shutdown -r now

En regardant l'option d'aide de shutdown, elle ne liste pas -a comme une commande correcte, mais j'aurais pu jurer il y a longtemps - un avortement ou quelque chose comme ça. Quoi qu'il en soit, j'ai continué à utiliser ça et ça a fonctionné toutes ces années, mais il semble que shutdown -h maintenant est la bonne option.

    
réponse donnée NPIC 27.01.2015 - 00:16
la source

Lire d'autres questions sur les étiquettes