Как посмотреть все сервисы с помощью systemctl

Система инициализации Systemd загружает юниты по необходимости. Таким образом, в памяти находятся только юниты добавленные в автозагрузку, те, которые находятся в зависимости других юнитов или те, которые вы запускаете вручную. Поэтому если вы хотите получить полный список сервисов с помощью systemctl, то команда list-units не подойдёт. Нужно использовать команду list-unit-files.

Для того чтобы посмотреть все службы Systemd используйте такую команду:

sudo systemctl list-unit-files --type service

В выводе вы можете видеть три колонки информации:
  • UNIT FILE – имя юнита службы;
  • STATE – добавлена ли служба в автозагрузку, вот основные значения: добавлена (enabled), не добавлена (disabled) и добавлена без возможности отключения (static).
  • VENDOR PRESET – должна ли быть служба добавлена в автозагрузку по умолчанию.

По умолчанию это команда откроет утилиту less, которая позволяет листать вывод как вверх/вниз, так и вправо/влево. Если вы хотите отключить пагинацию используйте опцию –no-pager:

sudo systemctl list-unit-files --type service --no-pager

Вы также можете использовать фильтрацию по паттерну, если хотите отфильтровать только службы, содержащие определённые символы. Например, те, имена которых начинаются со слова mysql:

sudo systemctl list-unit-files --type service 'mysql*'

Как видите, всё довольно просто.


Источник: https://losst.ru/
Материал распространяется под лицензией CC-BY-SA