Как управлять службами systemd с помощью команды systemctl в Linux

Управление службами – одна из ключевых обязанностей системных администраторов Linux. Знание того, как управлять системными службами, также важно для пользователей Linux, поскольку им, возможно, придется так или иначе иметь дело со службами.

В этом руководстве рассматривается, как управлять службами systemd с помощью команды systemctl.

Что такое systemd?

Systemd – это менеджер системы и служб для операционных систем Linux. Это диспетчер служб по умолчанию во многих дистрибутивах Linux, включая Ubuntu, Red RHEL, OpenSuse и Arch Linux. Systemd является преемником более старых менеджеров служб, таких как System V и Upstart .

В отличие от диспетчера служб System V, systemd стремится быть более эффективным за счет параллельного запуска служб для ускорения процесса загрузки Linux. Другой уникальной особенностью systemd является то, что он предоставляет услуги по запросу, то есть может отложить запуск службы только тогда, когда это необходимо системе, что значительно повышает производительность.

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

Управление службами systemd с помощью systemctl

В Linux за управление службами systemd отвечает команда systemctl . Если в вашей системе есть каталог / usr / lib / systemd , то вы, скорее всего, используете диспетчер служб systemd.

Вы также можете запустить любую из следующих команд, чтобы проверить, доступен ли в вашей системе диспетчер служб systemd.

 systemctl --version
systemd --version

Проверка статуса услуги

Чтобы проверить статус конкретной службы в вашей системе, используйте команду status, за которой следует имя службы, которую вы хотите проверить.

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

 systemctl status docker

Примечание. В справочном руководстве по systemctl глагол после systemctl также упоминается как команда, поэтому в этом руководстве для единообразия мы будем придерживаться этого определения.

Связанный: Причины использования программного обеспечения для виртуализации Docker

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

Знание статуса службы – один из основных способов, который вы будете использовать для устранения ошибок или диагностики проблем. Прежде чем вдаваться в подробности того, почему что-то не работает, системные администраторы обычно сначала проверяют, запущена ли и работает ли служба.

Листинг услуг с помощью systemctl

Часто вам нужно знать, какие службы доступны в вашей системе, прежде чем вы сможете приступить к их управлению. Вы можете использовать следующую команду, чтобы вывести список всех доступных служб в вашей системе.

 systemctl list-unit-files --type service --all

Помимо перечисления служб, доступных в вашей системе, команда также покажет состояние этих служб. Наиболее распространенные состояния включают в себя; включен, отключен, замаскирован и т. д.

Запуск и остановка служб

Команда остановки используется для остановки службы, которую вы больше не хотите запускать. Например, чтобы остановить службу докеров :

 systemctl stop docker

Есть несколько причин, чтобы остановить службы на вашем Linux-компьютере. Неиспользуемые службы потребляют ненужные системные ресурсы и негативно влияют на производительность вашего ПК.

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

Чтобы запустить службу, которая не запущена, используйте команду start . Например, чтобы запустить недавно остановленную службу докеров :

 systemctl start docker

Если вы хотите остановить службу, а затем немедленно запустить ее снова, вы можете использовать команду перезапуска следующим образом.

 systemctl restart docker

Включение и отключение служб

Термины « Включение» и « Запуск служб» часто сбивают с толку некоторых пользователей Linux. Включая службу, вы говорите, что служба должна быть доступна при загрузке системы или настраивает службу готовой, когда подключено определенное оборудование. Чтобы включить службу докеров в Linux:

 systemctl enable docker

Чтобы отключить запуск службы при загрузке, вы можете использовать команду disable . Например, введите следующую команду, чтобы отключить службу докеров .

 systemctl disable docker

Есть много других команд и опций, которые вы можете использовать для управления службами в вашей системе. Запустите команду справки systemctl –help или посмотрите справочные страницы systemctl, если вы не можете найти способ обойти эту команду.

 man systemctl

Часто некоторые службы запускаются при загрузке системы. Эти службы, если они не нужны системе, влияют на общую производительность компьютера. Вы можете легко остановить такие службы запуска и демонов в Linux.