Необходимо создать файл: /etc/systemd/system/service-name.service
[Unit] Description=Supersimple daemon [Service] Type=simple ExecStart=/usr/bin/daemon [Install] WantedBy=multi-user.target
Необходимо создать файл: /etc/systemd/system/service-name.service.d/override.conf
или выполнить команду sudo systemctl edit service-name.service
, в этом случае, файл конфигураций будет создан автоматически или откроется ранее созданный файл
[Service] Environment="VARIABLE_NAME=value" Environment="SECRET_NAME=Sup3rs3cret"
sudo systemctl daemon-reload
# Включить автозапуск sudo systemctl enable service-name.service # Запустить сервис sudo systemctl start service-name.service # Остановить сервис sudo systemctl stop service-name.service # Показать статус сервиса sudo systemctl status service-name.service # Перезагрузить сервис sudo systemctl restart service-name.service # Посмотреть лог сервиса sudo journalctl -xeu service-name.service
Создаем директорию mkdir -p ~/.config/systemd/user
Необходимо создать файл: ~/.config/systemd/user/service-name.service
[Unit] Description=Supersimple daemon [Service] Type=simple ExecStart=/usr/bin/daemon [Install] WantedBy=multi-user.target
Необходимо создать файл: ~/.config/systemd/user/service-name.service.d/override.conf
или выполнить команду systemctl –user edit service-name.service
, в этом случае, файл конфигураций будет создан автоматически или откроется ранее созданный файл
[Service] Environment="VARIABLE_NAME=value" Environment="SECRET_NAME=Sup3rs3cret"
systemctl --user daemon-reload
Пользовательский процесс systemd запускается сразу после первого входа пользователя в систему, и будет убит после завершения последнего сеанса пользователя. Иногда может быть полезно запустить службу сразу после загрузки, и поддерживать процесс systemd запущенным даже после завершения последнего сеанса пользователя, например, чтобы некоторый пользовательский процесс работал без какой-либо открытой сессии.
sudo loginctl enable-linger username
# Включить автозапуск systemctl --user enable service-name.service # Запустить сервис systemctl --user start service-name.service # Остановить сервис systemctl --user stop service-name.service # Показать статус сервиса systemctl --user status service-name.service # Перезагрузить сервис systemctl --user restart service-name.service # Посмотреть лог сервиса journalctl --user -xeu service-name.service
[Unit] Description=Java App StartLimitIntervalSec=300 StartLimitBurst=5 [Service] Type=simple ExecStart=/usr/bin/java -Dfile.encoding=UTF-8 -Dspring.profiles.active=dev -jar app.jar Restart=on-failure RestartSec=10s [Install] WantedBy=multi-user.target