Инструменты пользователя

Инструменты сайта


linux:administration:systemctl

Управление службами через SYSTEMCTL в Linux

Systemctl

Systemd — система инициализации служб.

Systemctl — утилита для управления службами

Состояния службы

Состояние Значение
loaded файл конфигурации юнита был обработан;
active (running) служба запущена с одним или несколькими выполняющимися процессами;
active (exited) единовременная настройка завершена успешно;
active (waiting) служба запущена, но ожидает событие;
inactive служба не запущена;
enabled служба будет запускаться во время начальной загрузки системы;
disabled служба не будет запускаться во время начальной загрузки системы;
static служба не может быть включена, но может быть автоматически запущен включенным юнитом.

Управление службами

Команда Описание
systemctl status <service-name> отображение состояния службы
systemctl status rsyslog.service -l <service-name> отображение подробного состояния службы
systemctl stop <service-name> остановка службы
systemctl start <service-name> запуск службы
systemctl restart <service-name> перезапуск службы
systemctl reload <service-name> перезагрузка конфигурации службы
systemctl daemon-reload перезагрузка конфигурации всех служб
systemctl enable <service-name> включение автозапуска
systemctl disable <service-name> выключение автозапуска
systemctl mask <service-name> отключение возможности запуска службы
systemctl unmask <service-name> включение возможности запуска службы
systemctl enable --now <service-name> запуск службы и включение автозапуска
systemctl disable --now <service-name> остановка службы и включение автозапуска

Список служб

Команда Описание
systemctl без параметров выводит состояние всех юнитов
systemctl --type=service вывод состояния юнитов указанного типа
systemctl list-units список юнитов, которые добавлены в systemd
systemctl list-units --type=service вывод списка всех загружаемых служб
systemctl list-units --type=service --all вывод списка всех служб
systemctl list-unit-files --type=service вывод списка служб и их состояние (кратко)
systemctl is-active <service-name> проверка, активна ли служба
systemctl is-enabled <service-name> проверка, включен ли автозапуск
systemctl --failed --type=service вывод списка только отказавших служб
systemctl list-dependencies <service-name> вывод списка зависимостей службы
systemctl list-dependencies <service-name> --reverse вывод списка служб, которые зависят от указанной

Target

Target группирует другие юниты и может запускать и останавливать их все вместе.

При запуске системы используется graphical.target (для загрузки системы с графическим интерфейсом) или multi-user.target (для загрузки системы без графического интерфейса). Символическая ссылка /etc/systemd/system/default.target указывает на нужный target.

Для проверки текущего default.target используется команда:

systemctl list-dependencies default.target

Вывод таргета по умолчанию:

systemctl get-default

эта команда читает символическую ссылку, расположенную в /etc/systemd/system/default.target, и отображает результат.

Смена текущего target:

systemctl isolate <target-name>.target

Создание юнита

Файлы юнитов содержатся в каталоге

/etc/systemd/system

Для создания юнита нужно создать файл, например

touch test.service

и записать в файл следующее:

[Unit]
Description=1c-server

[Service]
ExecStart=/etc/init.d/srv1cv83

[Install]
WantedBy=multi-user.target
/var/www/html/dokuwiki/data/pages/linux/administration/systemctl.txt · Последнее изменение: — so_v_a