Как управлять службами 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 также упоминается как команда, поэтому в этом руководстве для единообразия мы будем придерживаться этого определения.
Помимо перечисления статуса службы, команда 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
Есть много других команд и опций, которые вы можете использовать для управления службами в вашей системе. Запустите команду справки systemctl –help или посмотрите справочные страницы systemctl, если вы не можете найти способ обойти эту команду.
man systemctl
Часто некоторые службы запускаются при загрузке системы. Эти службы, если они не нужны системе, влияют на общую производительность компьютера. Вы можете легко остановить такие службы запуска и демонов в Linux.