LINUX.ORG.RU

Зачем нужен halt?

 


1

2

Зачем нужен halt, когда есть poweroff?
На просторах интернета встретилось такое объяснение, что при выполнении halt, после того, как система выключена, можно вручную сделать ребут или выключить питание компа, нажав на кнопку.
Зачем это нужно, когда можно сразу сделать poweroff или reboot?
Приведите, пожалуйста, примеры реального использования halt.


Вывод сообщения об ошибке ядра, типа кернелпаника, когда ребут нежелателен, например. В embedded всяких, где ребута нет вообще, а ресет юзать не комильфо в данной ситуации.

Unicode4all ★★★★★
()
Последнее исправление: Unicode4all (всего исправлений: 2)

зачем нужен halt или poweroff когда есть init?

system-root ★★★★★
()
Ответ на: комментарий от carabo

А, ну с systemd как - хз. У меня halt всегда запускается и halt просто выключает компьютер напрочь, как и poweroff. Но, может, у кого-то по-другому работает?

Zubok ★★★★★
()

Зачем нужен halt, когда есть poweroff?

у меня нет poweroff

buratino ★★★★★
()
Ответ на: комментарий от Dark_SavanT

Раньше надо было самому кнопку тыкать. видимо с тех пор и.

А, ну точно. На AT кнопку надо было нажимать руками.

Zubok ★★★★★
()
Ответ на: комментарий от carabo

это как-то отменяет того, что в OpenBSD нет poweroff? я гашу систему с помощью halt -p - я уже привык, и в дебиане её так же гашу

buratino ★★★★★
()
Ответ на: комментарий от buratino

Не отменяет, конечно. Я имел ввиду halt, который halt, т.е. просто выключает систему, но не выключает питание. Просто привел свою конфигурацию компа.

carabo
() автор топика
Ответ на: комментарий от buratino

а вот теперь у меня хотелка появилась - как мне в моём bash'е сделать эти стрелочки без всяких user@home$ как щас?

eR ★★★★★
()

Зачем нужен halt, когда есть poweroff?

Первые компьютеры не умели выключаться программно, потому не было poweroff, а теперь это симлинк на дань традиции к halt. Хотя halt — это инструкция процессора, когда он останавливается до немаскируемого прерывания, что иногда полезно, когда ядро упало, но информация осталась — panic=синий экран это оно.

vodz ★★★★★
()
Ответ на: комментарий от carabo

Не отменяет, конечно. Я имел ввиду halt, который halt, т.е. просто выключает систему, но не выключает питание. Просто привел свою конфигурацию компа.

Но у тебя как работает? halt не выключает, а poweroff выключает питание? У меня вот оба выключают питание. Если даже смотреть man, то утверждается, что poweroff выключить питание (это то же самое, что и halt -p). Но на практике у меня оба без ключей отключают питание, хотя я встречал случаи компов или ноутов, когда вроде бы выключение питания не выключало его, а компы оставались висеть в строчке что-то типа system halted, но не выключались.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)

Ну я пользуюсь halt'ом, на одной из машин. Не спрашивайте, почему.

logon
()
Последнее исправление: logon (всего исправлений: 3)
Ответ на: комментарий от Zubok

У меня halt всегда запускается и halt просто выключает компьютер напрочь

Это плохо, когда следует не выключать компьютер напрочь. Например, если в BIOS материнки есть выбор включения только из двух позиций: last state и off.

AS ★★★★★
()

Исторически. Раньше в компах не было ACPI. Лучшее, что можно (и нужно было сделать) — это halt и в ручную выключить питание.

beastie ★★★★★
()
Ответ на: комментарий от AS

Возможно, поведение зависит от настроек BIOS или материнки и что там с ACPI. Ведь poweroff должен после halt еще и послать сообщение ACPI, чтобы вырубить питание. А получается, что и halt вырубает питание. Это может быть такое поведение железа. Кстати man по этому поводу говорит, что poweroff и halt вызывают, как это давно известно, shutdown -h. А ключ -h означает либо сделать halt, либо power off. А вот что именно сделать, диктуется двумя модификаторами: -H и -P. И вот про -H написано:

       -h     Halt or power off after shutdown.

       -P     Halt action is to turn off the power.

       -H     Modifier to the -h flag.  Halt action is to halt  or  drop  into
              boot  monitor on systems that support it.  Must be used with the
              -h flag.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от beastie

Исторически. Раньше в компах не было ACPI. Лучшее, что можно (и нужно было сделать) — это halt и в ручную выключить питание.

Ну вот и странно. Значит, какие-то платы не умеют делать halt. halt не должен делать power off, а по факту делает. Или питание по halt выключает материнка по своему усмотрению (возможно, что где-то, на каком-то железе это поведение меняется).

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)

Зачем нужен halt, когда есть poweroff?

в halt меньше букв - быстрее набирать.

Deleted
()
Ответ на: комментарий от Deleted

аналогично

halt просто по вызываемой программе подставляет флаги нужные. На halt и reboot залинкован.

        if (!strcmp(progname, "reboot")) do_reboot = 1;
        if (!strcmp(progname, "poweroff")) do_poweroff = 1;
Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от carabo

ты про табличку *теперь питание компьютера можно отключить*?

(смахнув скупую слезу) так вот она:

http://51t.ru/halt.png

buratino ★★★★★
()
Ответ на: комментарий от Zubok

Совершенно верно, на моем компе:
halt - выключает ОС, но питание ПК остается включено, на мониторе надпись «reboot: System halted»
systemctl halt - то же
poweroff - отключение питания
systemctl poweroff - то же

$ uname -a
Linux debian 3.16.0-4-686-pae #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) i686 GNU/Linux

В systemd все однозначно без всякой путаницы с симлинками и опциями.

carabo
() автор топика
Ответ на: комментарий от carabo

Вот у меня железо такое, значит, специфическое, что сбило с толку по поводу того, как дела сейчас обстоят. Дела обстоят, значит, так же, как они и всегда были.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Не особенно и странно. Поведнние после того как CPU остановлен может быть разным.

Может у тебя там watchdog, который систему по данному евенту вообще перебутит. :)

beastie ★★★★★
()
Ответ на: комментарий от Zubok

А, ну с systemd как - хз

В systemd это просто таргеты. Изкаропка одинаковые, но никто тебе не мешает оверрайднуть их кастомными с произвольным значением.

redgremlin ★★★★★
()

Для любителей немецкого

Harald ★★★★★
()
Ответ на: комментарий от Zubok

Возможно, поведение зависит от настроек BIOS или
материнки и что там с ACPI

В смысле почему halt отключает ? Да нет же ! Всё прозаично, загляни в init.d/halt. Зависит от дистрибутива, очевидно, но, вероятно, там ты найдёшь ответ в обработке чего-то, похожего на case «$0» in

AS ★★★★★
()
Ответ на: комментарий от AS

Да нет же ! Всё прозаично, загляни в init.d/halt.

Зависит от дистрибутива, очевидно

Ты знал! Хе-хе-хе. init.d/halt соурсит /etc/default/halt, в котором у меня было:

# Default behaviour of shutdown -h / halt. Set to "halt" or "poweroff".
HALT=poweroff

Скрипт в зависимости от этой переменной вызывает либо halt, либо poweroff. И он так действительно идет в дистрибутиве! Сенкс за наводку!

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

В systemd сейчас и poweroff и halt отправляют на /bin/systemctl

dada ★★★★★
()

Зачем нужен halt, когда есть poweroff?

halt короче.

h578b1bde ★☆
()
Ответ на: комментарий от Bfgeshka

а у меня halt завершает работу, но иногда выключает питание, а иногда - нет.

А вот тут, вероятно, что HALT=poweroff, но вот с ACPI что-то не так, и poweroff работает не всегда.

AS ★★★★★
()
Ответ на: комментарий от AS

HALT=poweroff

Наоборот,

~ ❯❯❯ file /sbin/poweroff
/sbin/poweroff: symbolic link to halt

с ACPI что-то не так

Возможно, но косяк минорный и не бесячий, так как halt выполняю несколько раз в году.

Bfgeshka ★★★★★
()
Ответ на: комментарий от Bfgeshka

/sbin/poweroff: symbolic link to halt

Это, как раз, значения не имеет. Свойство этой утилиты таково, что у неё разное поведение в зависимости от имени, под которым она вызвана. Попробуй /sbin/poweroff --help и /sbin/halt --help, там даже подсказка должна различаться немного.

AS ★★★★★
()
Ответ на: комментарий от AS

Это, как раз, значения не имеет.

Мне известно, я просто ремарку сделал.

Вообще, как я уже сказал, меня эта ситуация не волнует совершенно - в любом случае демоны буду остановлены, данные на диск сохранены и периферия отключена, так что это всего лишь мелкая несуразность.

Bfgeshka ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.