Никто не использовал halt
для выключения компьютера, и с systemd это не изменилось.
halt
a.k.a. haltsys
отключается и останавливается. poweroff
— это более новая команда, которая завершает работу и выключает питание.(https://unix.stackexchange.com/a/196471/5132объясняет тонкости этого, которые я собираюсь здесь замалчивать, так как речь идет только об операционных системах Linux.Этот ответ посвящен только стороне вселенной AT&T System 5 UNIX.)
Как я объяснил в https://superuser.com/a/900205/38062, компьютеры не обязательно способны выключаться под управлением программного обеспечения. Действие команд haltsys
и halt
обычно заключалось в выключении и остановке машины, следующим действием оператора было использование физической кнопки сброса или выключателя питания.
halt
получил опцию -p
/ --poweroff
, чтобы сделать ее эквивалентной poweroff
, но это симптом общего роста перекрывающихся и -противоречивых опций для этих команд. См. страницу руководства для команды Upstart halt
в Debian 7 . Там halt --poweroff
. Страница руководства для команды van Smoorenburg halt
в Debian 7 также имеет halt -p
.
Но это не что-то, что изменилось с systemd. systemd предоставляет то же самое. Команда systemd halt
также имеет --poweroff
. Кроме того, он имеет опции --reboot
и (для хорошей меры )--halt
.
Мне пришлось сделать то же самое с командой halt
/ haltsys
в наборе инструментов nosh для совместимости.
Вы можете ошибочно подумать, что старый добрый halt
выключил ваш компьютер. Но это было однозначно неправильно для Upstart, и верно только для набора инструментов ван Смуренбурга , если вы столкнулись с ошибкой .
Ошибка, которая была окончательно исправлена только в этом году, заключалась в том, что команда van Smoorenburg halt
просто игнорировала наличие или отсутствие параметра -p
и вместо этого решала, остановить или отключить питание в соответствии со значением настройки в /etc/default/halt
. Если вы случайно установили этот параметр на отключение питания, то halt
всегда будет отключать питание, даже если опция -p
не указана. Наоборот, если вы случайно установили этот параметр на остановку, то halt
всегда будет останавливаться, даже если указана опция -p
.
Но это была ошибка , а не задокументированное или предполагаемое поведение, не поведение каждой halt
команды, доступной в Debian, и не обычное поведение команды halt
в целом..
halt
непреднамеренное изменение поведения. Ошибка Debian #743555.