Чи зупиняється те саме, що "shutdown -H" та poweroff - це те саме, що "shutdown -P"?


Відповіді:


26

Це трохи історично.

haltвикористовувався до ACPI (який сьогодні відключить живлення для вас) *. Це зупинить систему, а потім надрукує повідомлення про те, що "зараз нормально вимкнути живлення". Тоді були фізичні комутатори / вимикачі, а не комбіновані кнопки живлення ACPI, керовані сучасними комп'ютерами.

poweroff, природно, зупинить систему і відключить живлення ACPI.

* Ці дні haltдосить розумні, щоб автоматично дзвонити, poweroffякщо ACPI увімкнено. Насправді вони функціонально рівноцінні зараз.


Цікаво: на моєму ноутбуці, на якому працює Gentoo, /sbin/poweroffє симпосилання на /sbin/halt.
phunehehe

Спасибі, бахамат! Я говорю про два варіанти команди shutdown. Чи команда haltтака сама, як shutdown -Hі команда poweroffтака ж, як shutdown -P? @phunehehe теж.
Тім

@phunehehe: Так, я був майже впевнений, що зараз вони однакові, але не намагався виглядати.
bahamat

@Tim: Так, ці прапори збігаються з викликом команди. Як я вже казав, це в значній мірі історична різниця.
bahamat

1
Ще в той день, haltраніше це робилося. Ніякого впорядкованого відключення, просто зупиніть те, що машина робила тут і там. Видання було загальним, щоб sync;sync;sync;haltпереконатися, що всі буфери були записані на диск.
kurtm

15

Вони не одне і те ж, просто дуже тісно пов’язані між собою. На практиці, якщо ви не хочете вказати конкретний час для вимкнення або змусити негайно нечисто перезавантажити / зупинити / переключити, це насправді не має значення, ви біжите shutdown -hчи halt... або shutdown -rпроти reboot. У минулому речі не були дуже приємними, але це так, як це працює зараз (багато можливостей для неоднозначності чи помилок користувача було видалено / згладжено).

/sbin/shutdownробить багато "очищення" таких речей, як сповіщення користувачів, блокування нових входів під час вимкнення системи. Також можна сказати про вимкнення системи в певний час або за XX хвилин - попереджаючи, що користувачі, що входили так часто, про майбутнє відключення.

Він також змінює рівень запуску на 0( halt/ poweroff) або 6( reboot), що запускає систему для зупинки запущених служб, демонтажу дисків тощо під час підготовки до фактичного зупинки, переключення чи перезавантаження.

Коли все, що зроблено, він викликає /sbin/halt, /sbin/rebootабо /sbin/poweroff( rebootі poweroffзазвичай є посиланнями на halt, що інтерпретує їх як halt -rі halt -Pвідповідно).

Однак зауважте, що якщо halt/ reboot/ poweroffвикликається, коли система НЕ знаходиться в рівні запуску, 0або 6тоді вони будуть закликати shutdownвиконувати свою роботу, якщо не використовується параметр -fабо force.

(Деталі того , як рівень запуску інтерпретується може варіюватися в залежності від дистрибутива до дистрибутива, але 0і 6використовуються , як описано тут , в Debian і Debian-похідних , як Ubuntu).

Зверніться до сторінок для shutdownі haltдля отримання додаткової інформації.

Нарешті, відмінність між haltта poweroffстаном полягає в тому, що haltробиться все, щоб фактично вимкнути машину (на деяких видах обладнання це означає, що вона потрапляє в завантажувач ПЗУ чи подібне. На більшості апаратних засобів він просто зупиняється), в той час як poweroffзавершує цей останній крок і вимикається. rebootзвичайно, переходить у стан зупинки, а потім перезавантажує комп'ютер.

BTW, типово типово є або, poweroffабо reboot, але ви можете використовувати -Hяк аргумент, щоб shutdownзупинити його замість. Це не дуже корисно для ПК на базі linux (але корисно на машинах, як коробки sparc, на яких є монітор завантаження програмного забезпечення. Можливо, це може стати в нагоді на нових машинах з командним рядком EFI).


1
Це дуже орієнтований на Linux відповідь на питання, не пов'язані з операційною системою. Не всі shutdownкоманди мають поняття рівнів запуску. shutdownздебільшого не посилається halt/ reboot/ poweroff; За іронією долі, це стосується кількох нелінукс- систем, де ця отримана мудрість залишається вірною і сьогодні. І там, де символічні посилання вказують не обов'язково halt; Мало того, що в деяких наборах інструментів вони зовсім не є символічними посиланнями. Див. Unix.stackexchange.com/a/196471/5132 для отримання більш детальної інформації.
JdeBP
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.