Я просто хочу знать разницу между
reboot
init 6
shutdown -r now
и какой самый безопасный и лучший?
Я просто хочу знать разницу между
reboot
init 6
shutdown -r now
и какой самый безопасный и лучший?
Ответы:
В них нет разницы. Внутренне они делают то же самое:
reboot
использует shutdown
команду (с ключом -r). Команда shutdown, используемая для уничтожения всех запущенных процессов, размонтирования всех файловых систем и, наконец, говорит ядру выдать команду ACPI power. Источник можно найти здесь . В старых дистрибутивах команда reboot вынуждала процессы выходить, выдавая SIGKILL
сигнал (все еще найденный в источниках, может вызываться с -f
параметром), в самых последних дистрибутивах по умолчанию используется более изящный и дружественный к инициализации init 1 -> shutdown -r
. Это гарантирует, что демоны очищаются перед выключением.
init 6
говорит init
процессу отключить все порожденные процессы / демоны, как записано в файлах инициализации (в обратном порядке, в котором они были запущены) и, наконец, вызвать shutdown -r now
команду для перезагрузки компьютера
Сегодня нет особой разницы, поскольку обе команды выполняют одно и то же, и они уважают сценарии инициализации, используемые для запуска служб / демонов, вызывая для них сценарии завершения работы. За исключением случаев, reboot -f -r now
указанных ниже
Существует небольшое объяснение того, почему reboot -f
это небезопасно:
-f, --force Принудительная немедленная остановка, отключение питания, перезагрузка. Не связывайтесь с системой инициализации.
Редактировать:
Забыл упомянуть, что в будущих дистрибутивах RHEL вы должны использовать новую systemctl
команду для запуска poweroff / reboot. Как указано на страницах man reboot
и shutdown
они являются «устаревшей командой, доступной только для совместимости». и systemctl
метод будет единственным безопасным.
init 1 -> shutdown -r
?
Отключение предпочтительнее, потому что оно позволяет вам указать причину радикальных действий - то, что вы всегда должны делать. Сообщение будет записано в журнал (ы) для потомков. Например:
shutdown -r now 'Kernel upgrade requires reboot'
Вы также можете выполнить запланированную перезагрузку, указав что-то отличное от now
времени перезагрузки:
shutdown -r 22:00 'Work around kernel memory leak'
Тогда ваши пользователи будут получать периодические напоминания, чтобы выйти по мере приближения времени - процесс будет более упорядоченным и профессиональным.
На традиционных юниорах reboot
и shutdown -r now
командах стоят совершенно разные. При обычном использовании reboot
безопасно использовать только в однопользовательском режиме.
shutdown -r now
является каноническим методом для выключения различных * nix'ов и более безопасен для использования в целом и функционально эквивалентен init 6
.
На FreeBSD есть разница между reboot
и shutdown -r now
. Со reboot
страницы руководства :
Обычно утилита shutdown (8) используется, когда система должна быть остановлена или перезапущена, давая пользователям заблаговременное предупреждение о надвигающейся гибели и корректно завершая работу определенных программ.