Это первый раз, когда я использовал systemd и немного не уверен в чем-то.
У меня есть служба, которую я настроил (для geoserver, работающей под tomcat):
[Unit]
Description=Geoserver
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/geoserver/bin/startup-optis.sh
ExecStop=/usr/local/geoserver/bin/shutdown-optis.sh
User=geoserver
[Install]
WantedBy=multi-user.target
Запуск script выполняет exec для запуска java/tomcat. Начнется запуск службы из командной строки:
sudo systemctl start geoserver
Однако команда не возвращается до тех пор, пока я не скрою-c, это мне не кажется правильным. После этого процесс java продолжает работать и функционирует нормально. Я не хочу перезагружать окно, чтобы проверить это, если это вызовет проблемы во время init, и это удаленная машина, и было бы больно заставить кого-то обратиться к ней.