Назад | Перейти на главную страницу

Как сохранить процесс Ubuntu systemctl в живых после отключения от оболочки?

Я новичок в Ubuntu, и я хочу запустить команду (java maven), которая запускает веб-сервер, встроенный в мое веб-приложение, на удаленном сервере Ubuntu.

Я могу запустить его с помощью следующей команды bash (набранной непосредственно на удаленной консоли):

#!/bin/bash
cd /path/to/mywebapp-dir
mvn exec:java >> /opt/mywebapp.log

Мое веб-приложение продолжает работать, ПОКА я не ввожу ключ ИЛИ не выхожу из консоли.

Я хочу, чтобы он оставался активным после выхода из системы, поэтому я создал следующую службу systemctl:

[Unit]
Description = mywebapp daemon

[Service]
ExecStart = /opt/mywebapp.sh # bash from above
Restart = no
Type = simple # also tried "forking", but couldn't get rid of PID file error.

[Install]
WantedBy = multi-user.target

Но когда я запускаю службу, кажется, что она закрывается сразу после успешного выполнения команды maven и не поддерживает работу веб-приложения (которое, как я предполагаю, является дочерним процессом).

Как я могу это сделать?