Réponses:
Généralement, on utilise la shutdown
commande . Il permet un délai et un message d'avertissement avant l'arrêt ou le redémarrage, ce qui est important pour l'administration système des serveurs shell multi-utilisateurs. il peut donner aux utilisateurs un préavis du temps d'arrêt.
En tant que tel, la commande shutdown doit être utilisée comme ceci pour arrêter / éteindre immédiatement l’ordinateur (au moins sous Linux et FreeBSD):
shutdown -h now
Ou pour le redémarrer avec un avertissement personnalisé de 30 minutes à l'avance:
shutdown -r +30 "Planned software upgrades"
Après le délai, shutdown
indique init
de passer au niveau d'exécution 0 (arrêt) ou 6 (redémarrage). (Notez que le fait d'omettre -h
ou de -r
faire passer le système en mode mono-utilisateur (niveau d'exécution 1), ce qui tue la plupart des processus système mais n'interrompt pas réellement le système; il permet néanmoins à l'administrateur de rester connecté en tant qu'utilisateur root.)
Une fois que les processus système ont été arrêtés et les systèmes de fichiers démontés, le système s'arrête / s'éteint ou redémarre automatiquement. Cette opération est effectuée à l'aide de la commande halt
oureboot
, qui synchronise les modifications apportées aux disques, puis effectue l'arrêt ou le redémarrage proprement dit.
Sous Linux, si halt
ou reboot
est exécuté alors que le système n'a pas encore démarré le processus d'arrêt, il invoquera la shutdown
commande automatiquement plutôt que d'exécuter directement l'action souhaitée. Cependant, sur des systèmes tels que FreeBSD , ces commandes enregistrent d’abord l’action wtmp
, puis effectuent immédiatement l’arrêt / le redémarrage, sans tuer au préalable les processus ni démonter les systèmes de fichiers.
halt
, reboot
et des shutdown
programmes qui font appel à un autre. Il existe un seul programme, avec de nombreux analyseurs en ligne de commande qui aboutissent en interne à un chemin de code. Il n'y a pas non plus de niveaux d'exécution. L'arrêt ne passe pas non plus en mode utilisateur unique. En effet, le mode mono-utilisateur lui-même a été renommé. Pour plus de détails, voir unix.stackexchange.com/a/196014/5132 .
Dans les années 1980, les BSDs avaient halt
, reboot
et shutdown
. System 5 UNIX avait un jeu d’outils de compatibilité BSD. Mais nativement, il avait son propre shutdown
commandement , différent ; et n'a pas eu halt
ou reboot
du tout. (Certaines variantes du système 5 comportaient des fonctionnalités similaires à celles de SCO XENIX haltsys
.)
Le BSD halt
et les reboot
commandes étaient bas, drastiques et immédiats. La considération façon de fermer un système BSD était la shutdown
commande, ce qui a fait toutes les choses que l' on attend de se produire: des wall
messages aux utilisateurs, services gracieusement tués, les entrées de journal écrites, les connexions désactivées, et ainsi de suite.
Alors que les BSD étaient en grande partie à l’origine des idées reçues, les " shutdown
execs halt
/ reboot
" et que ces derniers devaient être utilisés avec précaution; c’était le monde System 5 où les gens avaient appris l’habitude contraire qui était halt
/ reboot
c’était juste des raccourcis pratiques et rien de plus /usr/ucb/halt
:, du "paquet de compatibilité BSD", n’était pas différent en effet shutdown -h
. Ils ont tous deux fini par faire init 0
.
halt
. 1982-05-11. Manuel 4.2BSD.haltsys
. 2005-06-03. Manuel SCO OpenServer.De nos jours, nous avons toute une gamme d’outils de gestion de système possibles. Les BSD ont toujours leurs outils, bien que débarrassés de tout AT & Tism dans les années 90. Miquel van Smoorenburg a écrit (en 1992) un Linux init
+ rc
et ses outils associés, que les gens appellent maintenant "System 5 init", même s’il ne s’agit pas du logiciel UNIX System 5 (et init
). Il y a aussi systemd , arriviste et Nosh , dont chacun ont leurs propres implémentations de halt
, reboot
, fasthalt
, fastboot
, et ainsi de suite.
Les outils ont également grandi et changé. Il existe maintenant une poweroff
commande, absente des systèmes d'exploitation des années 1980, car les unités centrales de traitement de la plupart des machines contemporaines n'avaient aucun moyen de contrôler leur alimentation. Les outils Linux, en particulier, ont acquis les commandes BSD; Toutefois, à l'instar des outils de compatibilité BSD sous UNIX System 5, ils ne sont pas des solutions à la tâche et les choses ont été largement aplaties.
Cet aplatissement nous a amenés au point où halt
et shutdown
sont pour l' essentiel les mêmes. Mais les détails exacts varient d'un jeu d'outils à l'autre, et les mécanismes de chaque jeu d'outils sont légèrement différents.
Il nous a aussi apporté à la position légèrement embarrassante où cet ensemble de commande est devenu si festonné avec des options de compatibilité qu'il permet maintenant aux gens de donner des ordinateurs auto-contradictoires instructions comme reboot --halt
et poweroff --reboot
, comme je l' ai indiqué dans la page de manuel pour le Nosh halt
, fasthalt
, reboot
, fastboot
, et poweroff
commandes. ☺
halt
, reboot
, poweroff
, telinit
Et shutdown
sont tout un programme . C'est en fait le systemctl
programme de systemd . Il dispose de plusieurs analyseurs de ligne de commande pour les diverses syntaxes de ligne de commande de ces commandes, ainsi que de la sienne, mais après cela, il est en grande partie converti en un chemin de code en interne. Il n'y a pas de différence entre utiliser halt
et ses options de commande pour déclencher une action et utiliser shutdown
et ses options de commande pour déclencher la même action.
systemd ne considère pas le mode de secours (qui correspond à ce que les utilisateurs de Systemd ont renommé le mode utilisateur unique ) comme un état système arrêté, et il n'est pas accessible avec ces commandes. Option-less shutdown now
est la même chose que poweroff
.
Les BSD conservent en grande partie leur sémantique des années 1980. halt
et ne shutdown
sont donc pas équivalents dans leurs outils. halt
et reboot
sont un seul programme; et sont toujours faibles, immédiats et drastiques. Attendu que, shutdown
et poweroff
également un seul programme, fait tout ce qui est prévenant, comme l’arrêt planifié, la rédaction de wall
messages, les actions de journalisation, la désactivation de la connexion, etc.
Dans les jeux d’outils BSD, shutdown
/ poweroff
finissait traditionnellement par invoquer halt
/ reboot
pour appliquer le changement final de l’état du système. (Souvent de nos jours incorrect) ont reçu la sagesse que « shutdown
execs halt
/ reboot
» en fait tient toujours sur NetBSD et OpenBSD. Mais sous FreeBSD / TrueOS / DragonFlyBSD, ce n’est le cas que si l’ -o
option est utilisée. Sur ces BSDs, deux de ces programmes normalement édictant la dernière modification de l' état du système en envoyant des signaux ( INT
, USR1
et USR2
) pour traiter # 1. init
fait toute la gestion de l'état du système sur ces systèmes.
Sur chacun d'eux, option moins shutdown now
ne correspond pas à l' un des halt
, reboot
ou poweroff
. Il passe en mode utilisateur unique BSD , à partir duquel il est possible de repasser en mode multi-utilisateur .
shutdown
. Manuel du gestionnaire de système . Pages de manuel NetBSD. 2011-11-04.reboot
,halt
. Pages de manuel OpenBSD. 2016-09-03.shutdown
. Pages de manuel FreeBSD. 2016-09-21.reboot
, halt
, fastboot
,fasthalt
. Pages de manuel FreeBSD. 2017-03-19.shutdown
. Manuel du gestionnaire de système . Pages de manuel de DragonFlyBSD. 2016-09-29.reboot
, halt
, fastboot
,fasthalt
. Manuel du gestionnaire de système . Pages de manuel de DragonFlyBSD. 2016-09-29.Dans le jeu d' outils de gestion du système Nosh, halt
, fasthalt
, poweroff
, fastpoweroff
, reboot
, et fastboot
sont tous un programme. Il est une cale de rétrocompatibilité que normalement simplement des chaînes à shutdown
l' opposé de la sagesse reçue. L' --force
option rend la chaîne à la system-control
place.
Il n'y a donc aucune différence (absente --force
) entre la halt
commande et la shutdown
commande (avec l'option équivalente) dans cet ensemble d'outils, car cet ensemble de commandes "Compatibilité BSD / Système 5" est simplement une couche mince de calage au-dessus de shutdown
.
shutdown
. nosh les pages de manuel du jeu d’outils. Logicielstelinit, init, reboot, halt, haltsys, powercycle, poweroff, … fastboot, fasthalt, fastpowercycle, fastpoweroff, …
nosh les pages de manuel du jeu d'outils. LogicielsComme avec nosh, dans les outils de gestion de système de pointe, l'inverse de la réception reçue par BSD s'applique. halt
, reboot
et poweroff
sont tous un programme, qui est normalement lié à shutdown
; sauf si l' --force
option est utilisée, cela oblige le reboot()
système à s'appeler lui-même.
Donc, encore une fois, il n'y a pas de différence (absente --force
) entre la halt
commande et et la shutdown
commande (avec l'option équivalente) dans cet ensemble d'outils. De plus encore, moins-options shutdown now
(dont aucun de halt
, reboot
ou poweroff
peut finir invoquer comme ils l' ensemble des options) apporte le système en mode mono - utilisateur plutôt que de l' arrêter.
shutdown
(8) . Pages de manuel Ubuntu.reboot
(8), halt
(8), poweroff
(8) . Pages de manuel Ubuntu.init
+rc
Encore une fois, dans ce jeu d' outils à l'opposé de la sagesse BSD reçue applique et halt
et reboot
simplement la chaîne à shutdown
- à moins que le système est déjà dans le poweroff ou l' arrêt « runlevel », auquel cas ces commandes promulguent en fait le dernier changement d'état du système. shutdown
à son tour des chaînes pour init
.
Donc, encore une fois, il n'y a pas de différence (à moins que le système soit déjà en grande partie fermé) entre halt
et shutdown
parce que le premier n'invoque que le dernier. Et oui, encore une fois, moins-options shutdown now
(dont aucun de halt
, reboot
ou poweroff
peut finir par invoquer comme ils l' ensemble des options) apporte le système en mode mono - utilisateur plutôt que de le fermer.
Je suppose que cela dépend un peu de la version d’UNIX / Linux que vous utilisez. Sur Centos (et sur d’autres systèmes d’exploitation modernes sous Linux), arrêtez l’arrêt des appels (si vous n’êtes pas au niveau d’exécution 0 ou 6) pour que votre système s’arrête proprement. Sous Solaris 10, l’arrêt est plus brutal. Il vide simplement les caches de disque et met le système hors tension. Aucune tentative d’exécution de scripts ni d’arrêt des installations smf n’est tentée .
Pour ceux qui utilisent AWS EC2: sur AWS shutdown
, une instance est halt
arrêtée quand elle se termine .
Sous Linux, "stop" et "reboot" sont des alias de la commande shutdown - shutdown -h
et shutdown -r
respectivement. L’arrêt des mots clés suppose généralement -h.
aliases
au sens des alias de shell, mais oui, en halt
gros , ils appellent shutdown -h
et reboot
courent shutdown -r
. Notez que si vous passez l' -f
option (force) à halt
ou reboot
, il shutdown
n'est pas appelé.
sendmail
commande à ce stade - Comme avec les MTA, le système d'initialisation que vous utilisez n'a pas d'importance, car ils reconnaîtront tous les deux shutdown
et en halt
tant que tels.
sendmail
commande. C'est comme la sendmail
commande, mais pas comme vous le pensez.