Czy zatrzymanie jest takie samo jak „shutdown -H”, a wyłączenie zasilania jest takie samo jak „shutdown -P”?

Odpowiedzi:

26

To trochę historyczne.

haltbył używany przed ACPI (który dzisiaj wyłączy dla ciebie zasilanie) *. Zatrzymałoby to system, a następnie wydrukowałoby komunikat: „Można teraz wyłączyć zasilanie”. W tamtych czasach istniały fizyczne włączniki / wyłączniki, a nie kombinowany przycisk zasilania kontrolowany przez ACPI współczesnych komputerów.

poweroff, naturalnie zatrzyma system, a następnie wyłączy zasilanie ACPI.

* Te dni haltsą wystarczająco inteligentne, aby automatycznie dzwonić, poweroffjeśli ACPI jest włączony. W rzeczywistości są one teraz funkcjonalnie równoważne.

bahamat
źródło
Ciekawe: na moim laptopie z Gentoo /sbin/poweroffjest dowiązanie symboliczne /sbin/halt.
phunehehe,
Dzięki, bahamat! Mówię o dwóch opcjach polecenia shutdown. Czy polecenie jest halttakie samo jak shutdown -Hi polecenie jest powerofftakie samo jak shutdown -P? @phunehehe też.
Tim
@phunehehe: Tak, byłem prawie pewien, że są takie same, ale nie zawracałem sobie głowy spojrzeniem.
bahamat
@Tim: Tak, te flagi są takie same jak wywołanie polecenia. Tak jak powiedziałem, to prawie historyczna różnica.
bahamat
1
Wcześniej haltrobił właśnie to. Bez uporządkowanego wyłączania, po prostu przestań robić to, co robiła maszyna. Często zdarzało sync;sync;sync;haltsię, że wszystkie bufory zostały zapisane na dysk.
kurtm
15

To nie to samo, tylko bardzo blisko spokrewnione. W praktyce, chyba że chcesz określić konkretny czas zamknięcia lub wymusić natychmiastowe, nieczyste ponowne uruchomienie / zatrzymanie / wyłączenie zasilania, tak naprawdę nie ma znaczenia, czy biegniesz, shutdown -hczy halt... lub shutdown -rkontra reboot. W przeszłości rzeczy nie były tak wygodne, ale teraz tak to działa (wiele możliwości niejasności lub błędów użytkownika zostało usuniętych / wygładzonych).

/sbin/shutdownwykonuje wiele czynności związanych z „czyszczeniem”, takich jak powiadamianie użytkowników, blokowanie nowych loginów podczas zamykania systemu. Można również nakazać zamknięcie systemu w określonym czasie lub za 20 minut - ostrzegając zalogowanych użytkowników od czasu do czasu o zbliżającym się wyłączeniu.

Zmienia również poziom działania na 0( halt/ poweroff) lub 6(reboot ), co powoduje, że system zatrzymuje działające usługi, odmontowuje dyski itp. W ramach przygotowań do faktycznego zatrzymania, wyłączenia zasilania lub ponownego uruchomienia.

Kiedy wszystko jest zrobione, to wtedy nazywa /sbin/halt, /sbin/rebootalbo /sbin/poweroff( rebooti poweroffto zazwyczaj do dowiązania symboliczne halt, które je jak interpretuje halt -ri halt -Podpowiednio).

Należy jednak pamiętać, że jeśli halt/ reboot/ poweroffnazywa, gdy system nie jest w poziomie działania 0lub 6będą następnie wywołać shutdownwykonywać swoje zadania, chyba że -falbo forcejest używana opcja.

(Szczegóły jego dotarcia poziomy są interpretowane może zmieniać się od dystrybucji do dystrybucji, ale 0i 6stosuje w sposób opisany tutaj w Debianie i dystrybucje pochodne jak Ubuntu).

Zobacz strony man dla shutdowni haltuzyskać więcej informacji.

Wreszcie, różnica między stanem halta powerofftym polega na tym, że haltrobi wszystko, aby faktycznie wyłączyć maszynę (na niektórych rodzajach sprzętu oznacza to, że wpada do bootloadera ROM lub podobnego. Na większości komputerów PC po prostu zatrzymuje się), jednocześnie poweroffwykonując ostatni krok i wyłącza się. reboot, oczywiście przechodzi do stanu zatrzymania, a następnie ponownie uruchamia komputer.

BTW, domyślnie jest to albo poweroffalbo reboot, ale możesz użyć -Hjako argumentu, aby shutdownzamiast tego zatrzymać. Nie jest to zbyt przydatne na komputerach z systemem Linux (ale jest przydatne na komputerach, takich jak sparc, które mają monitor rozruchowy oprogramowania układowego. Możliwe, że może się przydać na nowszych komputerach z linią poleceń EFI).

cas
źródło
1
Jest to wysoce skoncentrowana na Linuksie odpowiedź na pytanie niezwiązane z systemem operacyjnym. Nie wszystkie shutdownpolecenia mają pojęcie poziomów uruchamiania. shutdownprzeważnie nie wywołuje halt/ reboot/ poweroff; jak na ironię, jest na kilku systemach innych niż Linux , gdzie ta otrzymana mądrość jest nadal aktualna. A gdzie wskazują dowiązania symboliczne, niekoniecznie halt; nie tylko to, że w niektórych zestawach narzędzi wcale nie są symbolicznymi linkami. Więcej informacji na stronie unix.stackexchange.com/a/196471/5132 .
JdeBP