Разница между "остановкой" и "выключением сейчас"?
Ubuntu One Remote использует sudo -S -p '' halt для отключения и не работает до конца. оставить монитор включенным с сообщением
теперь остановится
[22225.11163] остановлен
В чем разница между sudo -S -p " halt а также sudo shutdown now?
4 ответа
-S а также -p переключатели для sudo не имеют значения в этом случае. Вот что они делают соответственно.
-Sпричины переключенияsudoпрочитать пароль от STDIN. Это позволяет, например, передать пароль кsudoчерезechoили жеcat,
-pПараметр switch позволяет вам переопределить запрос пароля по умолчанию и использовать пользовательский, или ни одного вообще.
Важное отличие состоит в том, что две команды sudo,
haltкоманда, если вызывается без-pпереключатель, просто останавливает ОС и останавливает все процессоры. После полной остановки системы пользователь может безопасно нажать кнопку "Питание" на своем компьютере вручную.
poweroff,shutdown -h now, а такжеhalt -pВсе команды делают то же самое, что иhaltв одиночку, при этом дополнительно отправляя команду ACPI, чтобы подать сигнал блоку питания на отключение основного питания. Это предотвращает необходимость физического нажатия кнопки питания на вашем компьютере.
halt не является shutdown Это разные команды. Первый не выключает питание, если только -p опция используется
Из руководства (man halt): "-p, --poweroff: указывает команде halt вести себя как poweroff."
И, в вашем случае, -p не был использован в halt команда, следовательно, ваш компьютер не был выключен.
Не путайте этот -p с тем из sudo это другой параметр для другой команды. От man sudo:
-SОпция -S (stdin) заставляет sudo читать пароль со стандартного ввода вместо оконечного устройства. За паролем должен следовать символ новой строки.-p promptПараметр -p (подсказка) позволяет переопределить запрос пароля по умолчанию и использовать пользовательский.
В твоем случае, prompt пусто (для sudo не отображается сообщение при запросе пароля), а -S заставляет sudo принимать пароль root vi stdin (поэтому пароль может быть введен с использованием каналов и перенаправления из других команд вместо ввода)
На сайте Unix SE есть хороший ответ о shutdown против halt проблема: в чем разница между командами останова и выключения?
Для sudo -S -p '' часть, это удалит сообщение о запросе пароля в терминале (Вы все еще должны ввести свой пароль)
Например бег sudo <some_command> выдаст этот вывод перед запуском этой команды:
[sudo] пароль для:
Но работает sudo -S -p '' <some_command> скрыть это сообщение
На самом деле сообщение, которое вы помещаете в кавычки, заменяет предыдущее сообщение.
Попробуйте и попробуйте следующее, и увидите разницу:
sudo -S -p 'Hey, I am a custom message.' ls
Нет никакой разницы между командой остановки и выключением с точки зрения намерения пользователя. Тонкая разница заключается в том, что при остановке вы должны удобно нажимать кнопку питания для выключения системы, тогда как в команде выключения он будет автоматически давать команду Расширенному интерфейсу конфигурации питания (ACPI) отправлять сигнал на блок питания для выключения системы.