Используя командную строку возможно быстро проверить, нужна ли CentOS / RHEL перезагрузка.
Используя команду needs-restarting, можно получить список идентификаторов процессов программ, которые начали выполняться до того, как они или какой-то компонент, который они используют, был обновлен.
Установка утилиты need-restarting
Утилита входит в состав Yum-utils
1 2 3 4 5 | yum whatprovides needs-restarting yum-utils-4.0.18-4.el8.noarch : Yum-utils CLI compatibility layer Repo : baseos Matched from: Filename : /usr/bin/needs-restarting |
устанавливаем yum-utils
1 | yum install yum-utils |
Проверка необходимости полной перезагрузки CentOS
Вызов утилиты
1 | needs-restarting |
Проверка статус выхода (1 означает, что требуется перезагрузка, а 0 означает, что перезагрузка не требуется):
1 | echo $? |
Проверить, требуется ли полная перезагрузка для хоста CentOS
Убедитесь, что следующая команда сообщает, требуется ли полная перезагрузка (код выхода 1) или нет (код выхода 0).
1 2 3 | needs-restarting --reboothint needs-restarting --r echo $? |
Проверка, требуется ли перезагрузка после установки обновлений RHEL или CentOS Linux
1 2 3 4 5 6 7 8 | needs-restarting --reboothint Core libraries or services have been updated since boot-up: * glibc * kernel Reboot is required to fully utilize these updates. echo $? 1 |
Перечислить затронутые службы systemd CentOS
Для получения списка затронутых служб, необходимо добавить параметр -s следующим образом
1 | needs-restarting -s |
Список служб:
1 2 3 | needs-restarting -s httpd.service php-fpm.service |
Теперь можно перезапустить их по очереди с помощью команды systemctl или цикла bash for следующим образом:
1 | systemct restart httpd.service php-fpm.service |
или
1 | systemctl restart $(needs-restarting -s) |