Systemd

Systemd - Система управления службами и служба инициализации.

Пример запуска службы

Создадим фаил /etc/systemd/system/my-app.service

[Unit]
Description=My APP Service
After=multi-user.target

[Service]
Type=simple
# Указываем рабочую папку
WorkingDirectory=/home/user/my_app_folder
# Запускаем приложение
ExecStart=myapp --debug
# От пользователя user
User=user

# Always restart
Restart=always

[Install]
# system wide service
WantedBy=multi-user.target

Далее рестартим systemd чтобы перечитались все unit файлы, и запускаем службу. Последней командой смотрим статус службы

sudo systemctl daemon-reload
sudo systemctl start my-app
sudo systemctl status my-app

Для автозапуска пишем

sudo systemctl enable my-app

Пример запуска службы на примере java приложения

Создадим фаил /etc/systemd/system/java-app.service

[Unit]
Description=Manage Java service

[Service]
WorkingDirectory=/home/user/my-java-app-folder
ExecStart=/bin/java -jar java-app.jar
User=user
Type=simple
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Дальше по аналогии как и с предыдущим пунктом

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9