Différence entre «arrêter» et «arrêter maintenant»?

30

Ubuntu one remote utilise sudo -S -p '' haltpour l'arrêt et ne fonctionne pas jusqu'à la fin. laisser le moniteur allumé avec un message

va maintenant s'arrêter

[22225.11163] arrêté

Quelle est la difference entre sudo -S -p " halt et sudo shutdown now?

nkvnkv
la source

Réponses:

41

Les commutateurs -Set n'ont aucune importance dans ce cas. Voici ce qu'ils font, respectivement.-psudo

Le -Scommutateur fait sudolire le mot de passe de STDIN. Cela permet, par exemple, de diriger un mot de passe sudovia echoou cat.

Le -pcommutateur vous permet de remplacer l'invite de mot de passe par défaut et d'en utiliser une personnalisée ou aucune.


La différence importante réside dans les deux commandes émises par sudo.

La haltcommande, si elle est invoquée sans le -pcommutateur, arrête simplement le système d'exploitation et arrête tous les processeurs. Une fois le système correctement arrêté, l'utilisateur peut appuyer en toute sécurité sur le bouton d'alimentation de son ordinateur manuellement.

Les poweroff, shutdown -h nowet les halt -pcommandes font tous la même chose que haltseul, tout en envoyant en outre une commande d'ACPI pour signaler l'unité d'alimentation pour déconnecter l'alimentation principale. Cela vous évite d'avoir à appuyer physiquement sur le bouton d'alimentation de votre ordinateur.

SirCharlo
la source
9
shutdown -h nowne coupe pas nécessairement l'alimentation non plus. Selon man shutdown, cela dépend du système. shutdown -H now(notez les plafonds H) est celui qui est garanti équivalent àhalt
MestreLion
11

haltn'est pas shutdown, ce sont des commandes différentes. Le premier ne coupe pas l'alimentation, sauf si l' -poption est utilisée

Dans le manuel ( man halt): "-p, --poweroff: Demande à la commande d'arrêt de se comporter à la place comme une mise hors tension."

Et, dans votre cas, -pn'a pas été utilisé dans la haltcommande, votre ordinateur n'a donc pas été éteint.

Ne confondez pas ce -p avec celui de sudo, c'est un paramètre différent pour une commande différente. De man sudo:

  • -S L'option -S (stdin) oblige sudo à lire le mot de passe à partir de l'entrée standard au lieu du périphérique terminal. Le mot de passe doit être suivi d'un caractère de nouvelle ligne.
  • -p prompt L'option -p (invite) vous permet de remplacer l'invite de mot de passe par défaut et d'en utiliser une personnalisée.

Dans votre cas, promptest vide (aucun message ne s'affiche pour sudo lorsque vous demandez le mot de passe), et -S oblige sudo à accepter le mot de passe root vi stdin (le mot de passe peut donc être fourni à l'aide de canaux et de la redirection à partir d'autres commandes au lieu d'être tapé)

MestreLion
la source
7

Il y a une bonne réponse sur le site Unix SE à propos du problème shutdownvs halt: Quelle est la différence entre les commandes Halt et Shutdown?

Quant à la sudo -S -p ''partie, cela supprimera le message sur la demande du mot de passe dans le terminal (vous devez quand même saisir votre mot de passe)

Par exemple, l'exécution sudo <some_command>donnera cette sortie avant d'exécuter cette commande:

[sudo] mot de passe pour:

Mais courir sudo -S -p '' <some_command>cachera ce message.

En fait, le message que vous mettez entre guillemets remplace le message précédent.

Allez-y et essayez ce qui suit, et voyez la différence:

 sudo -S -p 'Hey, I am a custom message.' ls
Dan
la source
0

Il n'y a aucune différence entre la commande d'arrêt et l'arrêt en termes d'intention de l'utilisateur. La mince différence est qu'en arrêt, vous devez appuyer sur le bouton d'alimentation pour arrêter le système, tandis que dans la commande d'arrêt, il demandera automatiquement à l'interface de configuration avancée (ACPI) d'envoyer un signal à l'unité d'alimentation pour éteindre le système.

Unaowo Brandy
la source