Есть ли веские причины для остановки системы без отключения питания?

13

Есть ли веские причины для остановки системы без отключения питания оборудования? Я имею в виду использование haltкоманды без использования -pпереключателя.

Я не смог найти ответ в интернете.

Zafan
источник
1
Сбой / неправильно реализованный / неподдерживаемый ACPI может быть одной из причин.
Ƭᴇcʜιᴇ007
Я думаю, что OP означает, почему такая команда haltреализована, если она никогда не используется без нее -p. Зачем кому-то останавливать систему, если он не намеревается отключать питание? Таким образом, почему бы не реализовать haltотключение питания.
Kinnectus
1
@BigChris Для «Почему» моё предположение было бы так, потому что «Halt» был создан до того, как ACPI был представлен / широко доступен, и действие Halt по умолчанию, вероятно, было оставлено как есть для обратной совместимости.
Ƭᴇcʜιᴇ007

Ответы:

13

Есть ли веские причины для остановки системы без отключения питания оборудования?

Да. Я мог бы хотеть нажать кнопку сброса и перезагрузить его, вместо того, чтобы нажимать кнопку питания, чтобы выключить его питание.

Я имею в виду использование haltкоманды без использования -pпереключателя.

В 4.2BSD, то haltкоманда не имеет на -pвыключатель. Это указывает на более широкий ответ, здесь: не все оборудование работает как ПК; даже ПК не всегда работали так, как сейчас.

Не было (и до сих пор иногда нет) случая, когда центральные процессоры имеют контроль над источником питания или могут полностью перевести материнскую плату и периферийные устройства в те же состояния, что и при включении питания. В некоторых системах вторая часть «выключение и отключение питания» или «выключение и сброс» была физическим действием , выполняемым оператором при нажатии (правильной) кнопки питания или кнопки сброса на передней панели устройства. Никакое количество ключей командной строки не может этого достичь. Со стороны программного обеспечения, машина просто выключалась, а затем вращалась в бесконечном цикле, ничего не делая. (Некоторые машины выходят из программы монитора ПЗУ.)

Современные BSD отмечают, что опция их haltкоманды -pотключает питание только «если это возможно» (FreeBSD) и не делает этого, если «система не поддерживает выключение программного обеспечения» (NetBSD). У команды SCO UNIX haltsys(эквивалент для System 5 halt) также не было -pопции, а на странице руководства объясняется, что она останавливает систему, чтобы оператор мог другими способами отключить ее или перезагрузить.

В настоящее время есть те, кто, как и системный народ, утверждает, что haltкоманда фактически устарела. Они утверждают , что один действительно не использовать haltкоманду на все и что она существует в системах «только для совместимости» (как Systemd страницы руководства есть). Это скорее ставит вопрос о том, какие варианты дать ему спорный вопрос ( systemctl haltбез -pвозможности выбора).

Это также демонстрирует позицию, в которой мы сейчас находимся, что этот набор команд стал настолько насыщенным опциями совместимости, что позволяет людям давать компьютерам противоречивые инструкции, такие как reboot --haltи poweroff --reboot. Я отметил это в странице руководства Nosh halt , fasthalt, reboot, fastboot, и poweroffкоманд. ☺

дальнейшее чтение

  • halt, 1982-05-11. Руководство 4.2BSD.
  • haltsys, 2005-06-03. Руководство по SCO OpenServer.
  • Джонатан де Бойн Поллард (2018). haltsys, Руководство Nosh . Softwares.
  • Джонатан де Бойн Поллард (2018). fastpowercycle, Руководство Nosh . Softwares.
  • Джонатан де Бойн Поллард (2018). shutdown, Руководство Nosh . Softwares.
  • Леннарт Поэттеринг (2013-10-07). halt, Системные справочные страницы. freedesktop.org.
JdeBP
источник
2
> «Я мог бы нажать кнопку сброса и перезагрузить его, вместо того, чтобы нажимать кнопку питания, чтобы отключить питание». Какова причина этого? Чтобы уменьшить износ оборудования? В противном случае, почему бы просто не сделать перезагрузку вместо остановки?
TheKarateKid