Документация находится в man shutdown
. 1
-P, --poweroff
Power-off the machine (the default).
[...]
-h
Equivalent to --poweroff, unless --halt is specified.
Иногда команды имеют избыточные кажущиеся переключатели, подобные этому, потому что они должны удовлетворять спецификациям для нескольких различных контекстов. Простая логика говорит нам, что, поскольку poweroff
в любом случае это значение по умолчанию, использование -h
само по себе избыточно (опять же, оно существует для удовлетворения внешней спецификации; некоторые реализации shutdown
могут не работать таким образом по умолчанию, но будут реализованы все те, которые соответствуют -h
).
Поскольку сам пи не может отключить питание (он либо включен == включен, либо нет), использовать poweroff
его бессмысленно , но он не причинит никакого вреда. Это может иметь значение в том, как красный светодиод мигает в конце (вы можете сравнить с, shutdown -H
чтобы увидеть). Обратите внимание, что основная цель shutdown
- остановить (остановить) запуск ОС.
Таким образом, вы можете использовать любую форму.
1. Это на самом деле из Raspbian Джесси и поставляется с systemd; это немного отличается от выключения в Raspbian wheezy (ответ Greenonline цитирует это), который является примером того, что я упоминаю в следующем параграфе о различных реализациях, соответствующих одной и той же спецификации. Процесс завершения работы на самом деле является частью системы init , которая представляет собой SysV на wheezy и systemd на jessie.
halt
это может привести к потере данных. Намного лучше было быsudo sync;sync;halt
, так как это синхронизирует хранилище данных (т.е. жесткие диски, SD-карту) с любыми неписанными кэшированными данными, которые все еще находятся в памяти, перед остановкой системы.halt
с уровня запуска 0 или 6 , это может привести к потере данных. На любом другом уровне запуска это эквивалентноshutdown -h now
.init 0
выключить,init 6
перезагрузитьshutdown -h now
, даже не подозревая, что этоhalt
опасно!