Немає кращого способу перезапустити сервер, використовуючи що-небудь інше, ніж будь-які ці команди.
- відключення - найпоширеніший спосіб зупинити вашу систему. Додавання аргументу
-r
та певний час (або ' now
') перезавантажить вашу систему замість зупинки після послідовності відключення.
- перезавантаження - це кругле вимкнення обгортки, яке виконує певне обслуговування жорсткого диска (синхронізація та / або переведення в режим очікування і не дуже важливо).
- Нові версії
reboot
(> 2.74) ініціюють, shutdown
якщо вони не знаходяться в рівні 0 або 6.
- Більшість сценаріїв init замовчують зупинити, щоб зробити запис у utmp .
Сучасні дистрибутиви охоплюють усі завдання незалежно від команди, яку ви використовуєте. В основному всі вони ініціюють час завершення роботи сценаріїв SysV (CentOS <7) або systemd (CentOS> = 7) (я буду називати їх init-скриптами для зручності читання).
Вимкнення за допомогою сценаріїв init крок за кроком зупиняйте всі ваші послуги, зареєстровані під звичайним рівнем "S". Окремі скрипти init можуть мати тайм-аут, як MySQL-скрипт init у CentOS. Коли буде задано аргумент зупинки і демон не буде відключений протягом досить тривалого часу, сценарій зупиниться і вийде, даючи збій. Процес відключення триватиме так, як ніби нічого не було, лише затримайте трохи довше і, ймовірно, надрукуйте попередження. Зрештою, коли всі скрипти init будуть виконані, відбудеться неминуче: всі процеси, які все ще запущені, отримають SIGTERM
сигнал і через кілька секунд (2 або 5) - a SIGKILL
. Це дозволить очистити решту до того, як буде здійснено дзвінок ACPI , щоб дійсно перезавантажити або вимкнути систему.
Один виняток - використання reboot
команди з -f
опцією, це буде пропускати виконання сценаріїв init і перезавантажить систему безпосередньо.
Вам буде краще виправити першопричину своїх турбот: MySQL не вимкнеться належним чином.
Часто це пов’язано з масовим навантаженням робіт, яке потрібно виконати до того, як демон зможе безпечно вийти. Одного разу у мене був екземпляр MySQL з +300.000 таблиць, на вихід яких пішла година. Подібні проблеми можна знайти з системами, що використовують величезні буфери та обмежену доступність вводу / виводу.
reboot
по суті є псевдонімомshutdown -r
... так ... так.