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/.