Не удалось запустить службу tomcat 9.0.48, продолжайте выдавать «Файл PID найден, но либо не найден соответствующий процесс, либо у текущего пользователя нет ..»

#tomcat #tomcat9

Вопрос:

Я только что обновил свой tomcat 9.0.48 , но он всегда не запускается.

Я перепробовал все, удалил файл pid, отключил/включил службу, остановил tomcat,…. но не смог запустить. Он продолжает выдавать эту ошибку из моего усеченного journalctl -xe вывода :

Файл PID найден, но либо соответствующий процесс не был найден, либо у текущего пользователя нет разрешения на остановку процесса. Остановка прервана

=>>

 --
-- Unit tomcat.service has begun starting up.
Jun 15 21:07:55 infra-vm startup.sh[63077]: Existing PID file found during start.
Jun 15 21:07:55 infra-vm startup.sh[63077]: Removing/clearing stale PID file.
Jun 15 21:07:55 infra-vm startup.sh[63077]: Tomcat started.
Jun 15 21:07:55 infra-vm shutdown.sh[63089]: PID file found but either no matching process was found or the current user does not have permission to stop the process. Stop aborted.
Jun 15 21:07:55 infra-vm systemd[1]: tomcat.service: control process exited, code=exited status=1
Jun 15 21:07:55 infra-vm systemd[1]: Failed to start Apache Tomcat Web Application Container.
-- Subject: Unit tomcat.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit tomcat.service has failed.
--
-- The result is failed.
Jun 15 21:07:55 infra-vm systemd[1]: Unit tomcat.service entered failed state.
Jun 15 21:07:55 infra-vm systemd[1]: tomcat.service failed.
Jun 15 21:07:55 infra-vm polkitd[841]: Unregistered Authentication Agent for unix-process:63063:8684558 (system bus name :1.714, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)
Jun 15 21:07:55 infra-vm sudo[63061]: pam_unix(sudo:session): session closed for user root
 

Это мое подразделение обслуживания :

 # Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64

#Environment=CATALINA_PID=/opt/tomcat/updated/temp/tomcat.pid
Environment=CATALINA_PID=/opt/tomcat/updated/temp/catalina.pid
Environment=CATALINA_HOME=/opt/tomcat/updated/
Environment=CATALINA_BASE=/opt/tomcat/updated/
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX: UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/updated/bin/startup.sh
ExecStop=/opt/tomcat/updated/bin/shutdown.sh

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target
 

Почему служба делает shutdown это после каждого запуска? Как вы можете видеть в приведенной выше ошибке, я запускаю команду «Запустить службу», но получаю ошибку завершения работы.

Если я закомментирую или удалю файл ExecStop модуля systemd tomcat, запуск больше не вызывает ошибки, но остается неактивным (от sytemctl status tomcat )

Я видел, что об ошибке сообщалось здесь много раз, но ни одно предложение не решило мою проблему.

Ответ №1:

Нашел проблему.

Это была JAVA_HOME неправильная конфигурация в службе подразделения tomcat, потому что я также обновил версию java на сервере lic, но указал устаревший путь к jre

Нашел его, протестировав запуск tomcat srcipt вручную, поэтому я обновил сервисный модуль, изменив строку

Среда=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64

Для

Среда=»JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64″

и сейчас все работает нормально.