Как правильно выключить сервер Unix / Linux?
Из моего поиска в Google я узнал (надеюсь) следующее:
неисправность: Я должен использовать это, с параметром -h для остановки или параметром -r для перезагрузки
остановка: останавливает компьютер (останавливает процессор? это физически отключает питание компьютера?). Я думаю, что это вызовет завершение работы, если не на init0, иначе просто остановится.
перезагрузка: если не на init6, вызывает завершение работы, иначе просто перезагружает компьютер.
если все это правильно, то единственное, чего я не могу понять, - это то, что именно делает «остановка». Он просто останавливает процессор, но не выключает физически компьютер? Как выключить компьютер?
Спасибо
shutdown -h now
отключит компьютер с большинством систем, но это остается на усмотрение реализации. Использовать -P
выключить наверняка и -H
остановиться наверняка. Это метод, который я бы порекомендовал для выключения системы. Он запустит все нужные скрипты.
halt
без -f
просто вызовет вышеуказанное завершение работы, и так будет reboot
, это просто псевдонимы.
В Linux я всегда использовал reboot
и halt
, хотя я также знаю людей, которые находят halt
страшно. halt(8)
вроде как говорит почему:
В более старых версиях sysvinit никогда не следует вызывать перезагрузку и остановку напрямую. Начиная с версии 2.74 при остановке и перезагрузке, вызовите shutdown (8), если система не находится на уровне выполнения 0 или 6. Это означает, что при остановке или перезагрузке невозможно определить текущий уровень выполнения (например, когда / var / run / utmp не был инициализирован правильно) будет вызвано завершение работы, что может быть не тем, что вам нужно. Используйте флаг -f, если вы хотите выполнить полную остановку или перезагрузку.
sysvinit 2.74 датировано 17 марта 1998 г. 21:53. :)
Что касается вашего вопроса, как выключить, вы можете использовать poweroff
или halt -p
. Самые последние системы Linux, кажется, отключаются только halt
или shutdown -h
также.
я использую halt
- меньше параметров для запоминания.
Кто-то разработал виртуальный Молли Гвардия чтобы случайно не остановить не тот сервер. Это спасло меня несколько раз. Это упаковано в molly-guard
на Ubuntu.
Обычно я использую (конечно, как пользователь root):
init 0
для перевода системы в выключенное состояние. Это выполняет сценарий краткого изложения.
init 6
для выключения системы и ее автоматической перезагрузки. Это также выполняет сценарий краткого изложения.
Здесь стоит отметить:
Solaris требуется либо «shutdown -y -i5 -g0» для завершения работы, либо «shutdown -y -i6 -g0» для перезагрузки. Остановку или перезагрузку в Solaris следует использовать только в тех случаях, когда допустимо не выдавать предупреждения или льготный период перед тем, как вы начнете выключать устройства ... это может как бы нанести ущерб дисковым системам, если вы не отключите их перед выключением, y 'знаете?
Лучше всего придерживаться процедур, которые лучше всего подходят для операционных систем, с которыми вы прикасаетесь ежедневно, чтобы случайно не испортить что-нибудь в 2 часа ночи с пальцами на автопилоте.
Например, никогда не вводите killall в solaris, тогда как в Linux это довольно распространенная команда. Однако pkill работает одинаково на обоих.
Чтобы немедленно выключить его, введите:
shutdown -h now
и немедленно выключить его и перезапустить введите:
shutdown -r now