Мое приложение использует Spring Boot 2.3.1.RELEASE, это исполняемый файл jar, который использует встроенный Tomcat и прослушивает порт 10605. Я развернул его на CentOS Linux версии 7.6.1810 (Core).
Я сделал следующие шаги:
[Ед. изм]
Описание = SPEEDYF
После = syslog.target
[Обслуживание]
Пользователь = root
ExecStart = / usr / local / bin / SPEEDYF / SPEEDYF.sh
SuccessExitStatus = 143
[Установить]
WantedBy = multi-user.target
#! / Bin / bash
sudo java -jar -Dspring.profiles.active = prod /usr/local/bin/SPEEDYF/SPEEDYF-0.0.1-SNAPSHOT.jar
Впервые команда: systemctl enable SPEEDYF.service Запуск работает правильно: systemctl start SPEEDYF.service
Пока стоп работает некорректно: systemctl stop SPEEDYF.service. То есть, если я запустил команду systemctl status SPEEDYF.service, у меня будет следующий результат:
● SPEEDYF.service - SPEEDYF Загружен: загружен (/etc/systemd/system/SPEEDYF.service; включен; предустановка поставщика: отключен) Active: неактивен (мертв) .........
Но приложение все еще работает, то есть записывает журналы приложения, а затем выполняет проверку с помощью команды:
lsof -i -P -n | grep СЛУШАТЬ
порт TCP 10605 приводит к LISTEN.
Команды выполняются от имени пользователя root. Я не понимаю, что я могу сделать, чтобы стоп работал правильно.
заранее спасибо