Ubuntu one remote использует sudo -S -p '' halt
для выключения и не работает до конца. оставить монитор включенным с сообщением
теперь остановится
[22225.11163] остановлен
В чем разница между sudo -S -p " halt
и sudo shutdown now
?
источник
Ubuntu one remote использует sudo -S -p '' halt
для выключения и не работает до конца. оставить монитор включенным с сообщением
теперь остановится
[22225.11163] остановлен
В чем разница между sudo -S -p " halt
и sudo shutdown now
?
-S
И -p
выключатели для sudo
не имеет никакого значения в данном случае. Вот что они делают соответственно.
-S
Переключатель приводитsudo
прочитать пароль из STDIN. Это позволяет, например, передать парольsudo
черезecho
илиcat
.
-p
Переключатель позволяет изменить пароль по умолчанию подсказки и использовать пользовательские один, или вообще.
Важное различие заключается в двух командах, выдаваемых sudo
.
Команда
halt
, если она вызывается без-p
коммутатора, просто останавливает ОС и останавливает все процессоры. После полной остановки системы пользователь может безопасно нажать кнопку «Питание» на своем компьютере вручную.В
poweroff
,shutdown -h now
иhalt -p
все команды делают то же самое , как вhalt
одиночку, в то время как дополнительно посылает команду ACPI для сигнала блока питания , чтобы отключить питание. Это предотвращает необходимость физического нажатия кнопки питания на вашем компьютере.
shutdown -h now
не обязательно выключать питание либо. Согласноman shutdown
, это зависит от системы.shutdown -H now
(обратите внимание, что заглавные буквыH
включены) - это тот, который гарантированно эквивалентенhalt
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 (поэтому пароль может быть введен с использованием каналов и перенаправления из других команд вместо ввода)источник
На сайте Unix SE есть хороший ответ о проблеме
shutdown
vshalt
: в чем разница между командами Halt и Shutdown?Что касается
sudo -S -p ''
части, это удалит сообщение о запросе пароля в терминале (Вы все еще должны ввести свой пароль, хотя)Например, выполнение
sudo <some_command>
передаст этот вывод перед выполнением этой команды:Но бег
sudo -S -p '' <some_command>
будет скрывать это сообщение.На самом деле сообщение, которое вы помещаете в кавычки, заменяет предыдущее сообщение.
Попробуйте и попробуйте следующее, и увидите разницу:
источник
Нет никакой разницы между командой остановки и выключением с точки зрения намерения пользователя. Тонкая разница заключается в том, что при остановке вы должны удобно нажимать кнопку питания, чтобы выключить систему, тогда как в команде выключения он автоматически выдаст команду Расширенному интерфейсу конфигурации питания (ACPI) отправить сигнал на блок питания для выключения системы.
источник