Команды Systemctl: перезапуск, перезагрузка и остановка служб в Linux

В современных дистрибутивах Linux, которые используют systemd в качестве системы инициализации, управление службами обычно осуществляется с помощью команды systemctl. Независимо от того, являетесь ли вы администратором, поддерживающим веб-сервер, или разработчиком, тестирующим изменения в приложении, понимание того, как перезапускать, перезагружать и останавливать службы, является необходимым.

В этой статье разбираются самые распространенные команды systemctl с практическими примерами.

Что такое systemctl?

systemctl — это утилита командной строки, используемая для управления systemd системой и менеджером служб. Она позволяет вам запускать, останавливать, перезапускать, перезагружать, включать, отключать и контролировать службы на вашей системе.

1. Перезапуск службы

Используйте это, когда вы хотите полностью остановить и затем снова запустить службу. Это полезно после внесения изменений в конфигурацию или когда служба становится неотзывчивой.

Синтаксис:

sudo systemctl restart <service-name>

Пример:

sudo systemctl restart nginx
Это останавливает и затем запускает веб-сервер NGINX с обновленными настройками.

2. Перезагрузка службы

reload сообщает службе перезагрузить свою конфигурацию без перезапуска всего процесса. Не все службы поддерживают это.

Синтаксис:

sudo systemctl reload <service-name>

Пример:

sudo systemctl reload apache2
Apache перезагрузит свою конфигурацию, не прерывая активные соединения.

Совет:

Вы можете проверить, поддерживает ли служба перезагрузку:

systemctl show <service-name> | grep CanReload

3. Остановка службы

Используйте эту команду, чтобы прекратить работу запущенной службы. Она останется неактивной, пока вы не запустите её снова вручную или не перезагрузите систему (если она не включена при загрузке).

Синтаксис:

sudo systemctl stop <service-name>

Пример:

sudo systemctl stop mysql
Это останавливает сервер базы данных MySQL.

Заключение

Освоение systemctl команд, таких как restart, reload и stop, является ключом к эффективному управлению службами в Linux. Они позволяют вам применять обновления, исправлять проблемы и контролировать поведение системы с точностью.

Всегда помните о необходимости проверять изменения с помощью:

systemctl status <service-name>