systemd - демон автозапуска
Вместе с подсистемой systemd
появилась команда systemctl
.
Она позволяет управлять основными процессами Linux.
Ниже представлена небольшая инструкция в виде шпаргалки наиболее используемых команд.
Собрано по кусочкам из разных статей в интернете.
— Stavis 1
Cинтаксис systemctl
Без параметров, systemctl
выводит список запущенных служб,
устройств, точек монтирования и других юнитов.
Список основных команд сервиса
Описание | Команда |
---|---|
Посмотреть статус службы: | systemctl status network |
Запустить сервис: | systemctl start mysql |
Остановить сервис: | systemctl stop mysql |
Включить автозапуск службы: | systemctl enable mysql |
Отключить автозапуск службы: | systemctl disable mysql |
Автозапуск приложений с помощью systemd
Частный пример написания Unit файла.
— Подробнее 2
В основном systemd
используют для автозапуска сервисов или скриптов.
Можно сделать 2 варианта.
- Запуск от имени Рута
- Запуск от имени Юзера
Для первого
варианта сервисный файл должен
располагаться в системной папке сервисов /etc/systemd/system/
.
Например я создаю "автозапуск" шелл скрипта находящегося по пути
/home/username/mysell.sh
Создаем файл сервиса:
# system path for daemon
vim /etc/systemd/system/myservice.service
# user path for daemon
vim ~/.config/systemd/user/myservice.service
В файл прописываем команды запуска
[Unit]
Description=My shell autorun script
Documentation=man:tmux(1)
[Service]
# Type=oneshot
# RemainAfterExit=yes
ExecStart=/home/username/mysell.sh
SyslogIdentifier=Myshell
[Install]
WantedBy=default.target
# WantedBy=multi-user.target
Для пользовательского в папке ~/.config/systemd/user/
.