init 6 / shutdown -r / reboot
Мучает вопрос о том чем это все отличается с технической точки зрения, на первый взгляд одно и то же. можете доступно пояснить?

cheetah111v
12.10.17 13:43:13 MSK

reboot
Если reboot запущен с флагом —force или текущий уровень запуска 0, то выполняется системный вызов ядра reboot, что незамедлительно перегружает систему, без выполнения каких-либо действий. В противном случае reboot полностью эквивалентен shutdown -r now.
init 6
При запуске init 6 инит отрабатывает все скрипты, соответствующие 6му уровню запуска. Традиционно это останавливает запущенные сервисы (хотя никто и не мешает добавить на этот уровень запуска и команду, которая будет делать что-то ещё).
shudown -r now
Блокирует возможность новых логинов в систему, посылает всем уже залогиненым пользователям сообщение о перезагрузке, после чего выполняет init 6.
redgremlin ★★★★★
( 12.10.17 14:20:42 MSK )
Ответ на: комментарий от redgremlin 12.10.17 14:20:42 MSK
Костыль на костыле короч
ozz_is_here ★
( 12.10.17 15:52:06 MSK )
Ответ на: комментарий от ozz_is_here 12.10.17 15:52:06 MSK

Не могу не согласиться. Хорошо, что уже 7 лет есть systemctl reboot.
redgremlin ★★★★★
( 12.10.17 16:00:23 MSK )
19 сентября 2019 г.
Ответ на: комментарий от redgremlin 12.10.17 16:00:23 MSK
А зачем systemctl? Прекрасно отрабатывает просто reboot.
Как перезагрузить сервер?

На первый взгляд, перезагрузка — простое и тривиальное действие. Однако, на самом деле этот процесс не так прост. В разных ситуациях перезагрузка может привести к неожиданным последствиям, от потери данных до краха операционной системы. О способах безопасной перезагрузки локальной и удаленной машины поговорим ниже в этой статье.
Существует программная (soft) и аппаратная (hard) перезагрузка. Программная является безопасной. После получения команды сервер дождется корректного завершения всех процессов прежде, чем остановиться и заново запуститься. Аппаратный перезапуск производится с помощью кратковременного отключения питания (действие аналогичное нажатию кнопки reset на компьютере). Сервер перезагрузится, но некоторые данные и файлы могут быть утеряны или повреждены. Поэтому аппаратная перезагрузка – это крайняя мера, когда другие возможности перезапуска VDS отсутствуют.
Программная перезагрузка
Программный вид перезагрузки позволяет решить некоторые локальные проблемы. Например, если одна или несколько программ работают некорректно или удаление или установка нового ПО не может быть осуществлено. Но этот способ работает только на доступном сервере. Чтобы выполнить перезагрузку, введите соответствующие команды в командной строке.
Программная перезагрузка сервера Linux

Чтобы перезагрузить сервер Linux из консоли, необходимо подключение с правами root-пользователя и ввод команды shutdown -r now, reboot now или init 6.
Как перезапустить Ubuntu, Debian, CentOS

Базовая команда для перезапуска Linux-сервера, – shutdown -r. Вариации команды позволяют выбрать время перезагрузки. Например, shutdown -r now немедленно перезагружает сервер, а по команде shutdown -r 10:30 сервер перезапустится в 10:30.
Команда reboot – еще один универсальный инструмент. Преимущество команды в том, что сначала производится запись всех логов, закрытие незавершенных процессов и запись на диск через sync. Только после этого будет инициирован процесс перезагрузки.
6-уровневая система инициализации Init Scripts также позволяет осуществить перезапуск. Для этого выбирайте команду уровня 6 (init 6), а команду уровня 0 (init 0) – для выключения.
Программная перезагрузка сервера Windows

Сервера на Windows имеют аналогичный способ перезапуска. Пользователь с административными привилегиями (администратор) должен ввести команду shutdown -r -t 0. Альтернативный вариант – воспользоваться PowerShell. В таком случае необходима команда Restart-Computer и имя компьютера.
Если программный перезапуск не сработал, следует воспользоваться аппаратной перезагрузкой.
Аппаратная перезагрузка сервера

Если удаленный сервер по каким-то причинам не доступен, производится физический перезапуск оборудования (по питанию). Сделать это можно удаленно без посещения дата-центра. Для удаленного доступа к настройкам питания BIOS сервера и управления конфигурацией, используйте интерфейс IPMI.
Пошаговая инструкция для удаленного перезапуска питания с помощью IPMI/KVM: Авторизация в личном кабинете – Выбор нужно сервера в панели DCI – Кнопка KVM – Вкладка Remote Control (в интерфейсе IPMI) – Пункт меню Power Control/Reset Control/Perform Action.
После этого виртуальный сервер будет перезагружен. Если аппаратная перезагрузка не решила проблему, обратитесь в техподдержку дата-центра.
Как перезагрузить сервер по SSH?

Чтобы перезапустить удаленный сервер с операционной системы Windows, воспользуйтесь приложением PuTTY. Это популярный клиент для удаленного доступа без шифрованной передачи пакетов. После авторизации, введите в командной строке reboot. Сервер перезагрузится через 15 минут.
Если вы работаете на Linux, используйте скрипт /etc/init.d/ssh с параметром restart. Для остановки или запуска сервера, выбирайте команды stop и start соответственно.
Если перезагрузка прошла неудачно, проверить состояние сервера можно через интерфейс IP-KVM или панель управления в личном кабинете.
7.3. Как эти стартовые скрипты работают?
Linux использует специальные средства загрузки, называемые SysVinit, которые основаны на концепции уровней запуска . Они могут сильно различаться от одной системы к другой, и мы не можем сказать, что скрипты из будут работать на LFS. У LFS свой подход к этим скриптам, но они также соответствуют стандартам.
SysVinit (с этого момента мы будем называть его “ init ”) работает, используя схему уровней запуска. Всего есть семь (от 0 до 6) уровней запуска (точнее, есть больше уровней запуска, но они предназначены для специальных целей и обычно не используются. Документация по init содержит более полную информацию по этому вопросу) и каждый из них сообщает компьютеру, что ему делать при запуске соответствующего уровня. Уровень запуска по умолчанию — 3. Вот описание разных уровней загрузки и их назначение:
0:выключение компьютера
1:однопользовательский режим
2:многопользовательский режим без поддержки сети
3:многопользовательский режим с поддержкой сети
4:зарезервирован или используется как 3
5:тоже самое, что и 4, он обычно используется для графического входа в систему (например xdm из X-ов или kdm из KDE)
6:перезагрузка компьютера
Для изменения уровня запуска используется команда init [runlevel] , где [runlevel] нужный уровень запуска. Например, для перезагрузки компьютера можно использовать команду init 6 . Это и делает команда reboot , а команда halt является аналогом init 0 .
Есть ряд директорий в /etc/rc.d, которые выглядят как rc?.d (где ? является уровнем запуска) и rcsysinit.d, которые содержат ряд символических ссылок. Часть из них начинается с K , другие начинаются с S , затем идут две цифры уровня инициализации. K означает остановку (kill) сервиса, а S — запуск (start). Цисло означает порядок, в котором запускаются скрипты, от 00 до 99; чем меньше номер, тем раньше вызывается скрипт. Когда init переключается на другой уровень загрузки, одни сервисы останавливаются, другие запускаются.
Сами скрипты расположены в /etc/rc.d/init.d. Они проделывают всю работу, а ссылки только указывают на них. Ссылки остановки и запуска указывают на один и тот же скрипт в /etc/rc.d/init.d. Это возможно благодаря тому, что скрипты запукаются с различными параметрами, такими как start, stop, restart, reload и status. Когда обрабатывается ссылка К, то соответствующий скрипт вызывается с аргументом stop. Если же обрабатывается ссылка S, то скрипт вызывается с параметром start.
Но есть одно исключение. Ссылки, начинающиеся с S в директориях rc0.d и rc6.d вызываются только с параметром stop для остановки чего-либо. Это понятно, потому что когда вы собираетесь перезагрузить или отключить систему, вам не надо ничего запускать, а только остановить систему.
Вот описание параметров, которые можно передавать скриптам запуска:
Сервис останавливается и запускается заново.
Это команда для обновления настроек сервиса. Она обычно вызывается после изменения конфигурационного файла скрипта, но сервису не нужно перезапускаться.
Показывает, запущен ли сервис и какой у него PID.
Вы спокойно можете настраивать и изменять процесс загрузки (после установки вашей системы LFS). Файлы, описываемые здесь, являются только примерами и, возможно, вы сделаете их лучше.
- Назад LFS-Bootscripts-2.2.2
- Далее Поддержка устройств и модулей в LFS системе
- Наверх.
- В начало.
Команда init в Linux с примерами 1 мин для чтения


Добавить в избранное
Главное меню » Linux » Команда init в Linux с примерами

init является родительским для всех процессов Linux с PID или идентификатором процесса 1. Это первый процесс, который запускается при загрузке компьютера и работает до завершения работы системы. init означает инициализацию. Проще говоря, роль init заключается в создании процессов из сценария, хранящегося в файле /etc/inittab, который является файлом конфигурации, который будет использоваться системой инициализации. Это последний шаг в последовательности загрузки ядра.
/etc/inittab Specifies the init command control file.
- Сценарий инициализации инициализирует службу. Итак, он отвечает за инициализацию системы.
- Сценарии инициализации также называются сценариями rc (сценарии запуска команд)
- Сценарий инициализации также используется в UNIX.
init [OPTIONS. ]
Уровни выполнения — это состояние init, в котором определена группа процессов, запускаемых при запуске ОС. Процесс, порожденный init для каждого из этих уровней запуска, определяется в файле /etc/inittab. На каждом уровне выполнения определенное количество остановленных или запущенных служб. Условно семь уровней выполнения существуют числами от нуля до шести.
Стандартные уровни выполнения для распространения на основе Red Hat:
По умолчанию большая часть системы на основе LINUX загружается на уровень выполнения 3 или уровень выполнения 5. В дополнение к стандартным уровням выполнения пользователи могут изменять предустановленные уровни выполнения или даже создавать новые в соответствии с требованиями. Уровни выполнения 2 и 4 используются для определенных пользователем уровней выполнения, а уровни выполнения 0 и 6 используются для остановки и перезагрузки системы.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.