Разница между «остановкой» и «выключением сейчас»?

30

Ubuntu one remote использует sudo -S -p '' haltдля выключения и не работает до конца. оставить монитор включенным с сообщением

теперь остановится

[22225.11163] остановлен

В чем разница между sudo -S -p " halt и sudo shutdown now?

nkvnkv
источник

Ответы:

41

-SИ -pвыключатели для sudoне имеет никакого значения в данном случае. Вот что они делают соответственно.

-SПереключатель приводит sudoпрочитать пароль из STDIN. Это позволяет, например, передать пароль sudoчерез echoили cat.

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


Важное различие заключается в двух командах, выдаваемых sudo.

Команда halt, если она вызывается без -pкоммутатора, просто останавливает ОС и останавливает все процессоры. После полной остановки системы пользователь может безопасно нажать кнопку «Питание» на своем компьютере вручную.

В poweroff, shutdown -h nowи halt -pвсе команды делают то же самое , как в haltодиночку, в то время как дополнительно посылает команду ACPI для сигнала блока питания , чтобы отключить питание. Это предотвращает необходимость физического нажатия кнопки питания на вашем компьютере.

SirCharlo
источник
9
shutdown -h nowне обязательно выключать питание либо. Согласно man shutdown, это зависит от системы. shutdown -H now(обратите внимание, что заглавные буквы Hвключены) - это тот, который гарантированно эквивалентенhalt
MestreLion
11

haltнет shutdown, это разные команды. Первый не отключает питание, если -pне используется опция

Из руководства ( man halt): «-p, --poweroff: указывает команде halt вести себя как poweroff».

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

Не путайте этот параметр -p с параметром from sudo, это другой параметр для другой команды. От man sudo:

  • -S Опция -S (stdin) заставляет sudo читать пароль со стандартного ввода вместо оконечного устройства. За паролем должен следовать символ новой строки.
  • -p prompt Параметр -p (подсказка) позволяет переопределить запрос пароля по умолчанию и использовать пользовательский.

В вашем случае promptон пуст (сообщение sudo не отображается при запросе пароля), а -S заставляет sudo принять пароль root vi stdin (поэтому пароль может быть введен с использованием каналов и перенаправления из других команд вместо ввода)

MestreLion
источник
7

На сайте Unix SE есть хороший ответ о проблеме shutdownvs halt: в чем разница между командами Halt и Shutdown?

Что касается sudo -S -p ''части, это удалит сообщение о запросе пароля в терминале (Вы все еще должны ввести свой пароль, хотя)

Например, выполнение sudo <some_command>передаст этот вывод перед выполнением этой команды:

[sudo] пароль для:

Но бег sudo -S -p '' <some_command>будет скрывать это сообщение.

На самом деле сообщение, которое вы помещаете в кавычки, заменяет предыдущее сообщение.

Попробуйте и попробуйте следующее, и увидите разницу:

 sudo -S -p 'Hey, I am a custom message.' ls
Дэн
источник
0

Нет никакой разницы между командой остановки и выключением с точки зрения намерения пользователя. Тонкая разница заключается в том, что при остановке вы должны удобно нажимать кнопку питания, чтобы выключить систему, тогда как в команде выключения он автоматически выдаст команду Расширенному интерфейсу конфигурации питания (ACPI) отправить сигнал на блок питания для выключения системы.

Unaowo бренди
источник