Почему не работает & ldquo; sudo shutdown now & rdquo; неисправность?

Когда я выдаю следующее:

sudo shutdown now

.. мой недавно введенный в эксплуатацию сервер Ubuntu 14.04 не выключается. Он останавливается на следующем сообщении:

* Stopping System V runlevel compatibility
Give root password for maintenance:
(or type Control-D to continue):

Если я ввожу пароль root, машина просто сидит там в приглашении оболочки.

95
задан 16 October 2016 в 06:31

5 ответов

Традиционно команда sudo shutdown now переведет вас на уровень выполнения 1 (режим восстановления); это произойдет как для Upstart, так и для SysV init. Чтобы получить то, что вы хотите, то есть правильно выключить компьютер, вам нужно установить переключатель -h в положение выключение .

Следует отметить, что halt закроет все процессы, выключит процессоры и вернет управление контроллеру ROM материнской платы, при этом пользователю потребуется нажать кнопку питания, чтобы включить питание. питание отключено, тогда как poweroff после выключения ЦП просто отключит питание, что приведет к правильному отключению.

Переключатель -h выключение ] либо остановит , либо выключит компьютер, решение будет приниматься системой, хотя в Ubuntu я видел, что обычно отключит машину. Чтобы убедиться в этом, вы можете использовать переключатель -P с выключение на выключение компьютера.

Подводя итог, вот команды, доступные для poweroff ( not halt ) компьютера:

sudo shutdown -h now
sudo shutdown -P now
sudo poweroff
sudo halt -p
sudo init 0

poweroff и Команды halt в основном вызывают shutdown (за исключением poweroff -f ). sudo poweroff и sudo halt -p точно такие же, как sudo shutdown -P now . Команда sudo init 0 переведет вас на уровень выполнения 0 ( shutdown ).

Что делать, если вы хотите завершить работу принудительно, то есть вы не хотите ждать для процессов закрыть нормально? В этом случае вы можете использовать:

sudo poweroff -f

Это не будет использовать выключение . Вместо этого он вызовет системный вызов reboot (2) (используемый для перезагрузки, выключения и остановки), чтобы немедленно выключить компьютер.

144
ответ дан 16 October 2016 в 06:31

Я почти уверен, что правильная команда должна содержать параметр «-h» (остановка). Попробуйте следующее:

sudo shutdown -h now
15
ответ дан 16 October 2016 в 06:31

Это наследие тех времен, когда физическая машина не могла отключиться сама. Например, команда halt sudo halt завершает работу всех программ и выгружает почти все из ОЗУ, готовая к выключению. Однако, если вы запустите sudo halt -p , он сделает все это, а затем сигнализирует системе о выключении, или в случае команды shutdown вам понадобится ] -a вариант, я полагаю, хотя я лично использую остановку .

6
ответ дан 16 October 2016 в 06:31

Я всегда использовал следующий

sudo shutdown -a now

или для перезагрузки сразу после выключения

sudo shutdown -r now

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

0
ответ дан 16 October 2016 в 06:31
systemctl poweroff -i 

используйте это для всех Linux.

2
ответ дан 28 July 2021 в 15:11

Другие вопросы по тегам:

Похожие вопросы: