2016-10-30 5 views
0

У меня Tomcat настроен на запуск как сервис с помощью Systemd на CentOS 7.2. Я могу начать Tomcat без проблем:Systemd tomcat.service не удалось без ошибок

sudo systemctl start tomcat 

я могу получить доступ к экрану выплеска, менеджер приложений, и даже развертывания приложений. Затем я отключил Tomcat:

sudo systemctl stop tomcat 

Я не вижу ошибок. Но тогда я могу проверить статус:

sudo systemctl status tomcat 

● tomcat.service - Apache Tomcat Web Application Container 
    Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled) 
    Active: failed (Result: exit-code) since Sun 2016-10-30 17:27:19 UTC; 2s ago 
    Process: 10833 ExecStop=/bin/kill -TERM $MAINPID (code=exited, status=0/SUCCESS) 
    Process: 10785 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS) 
Main PID: 10795 (code=exited, status=143) 

Oct 30 17:26:31 java2016 systemd[1]: Starting Apache Tomcat Web Application Container... 
Oct 30 17:26:31 java2016 startup.sh[10785]: Existing PID file found during start. 
Oct 30 17:26:31 java2016 startup.sh[10785]: Removing/clearing stale PID file. 
Oct 30 17:26:31 java2016 systemd[1]: Started Apache Tomcat Web Application Container. 
Oct 30 17:27:19 java2016 systemd[1]: Stopping Apache Tomcat Web Application Container... 
Oct 30 17:27:19 java2016 systemd[1]: tomcat.service: main process exited, code=exited, status=143/n/a 
Oct 30 17:27:19 java2016 systemd[1]: Stopped Apache Tomcat Web Application Container. 
Oct 30 17:27:19 java2016 systemd[1]: Unit tomcat.service entered failed state. 
Oct 30 17:27:19 java2016 systemd[1]: tomcat.service failed. 

Это показывает, что kill функционировали нормально. И /opt/tomcat/logs/catalina.out не показывает каких-либо проблем, либо:

30-Oct-2016 17:27:19.268 INFO [Thread-5] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-8080"] 
30-Oct-2016 17:27:19.324 INFO [Thread-5] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["ajp-nio-8009"] 
30-Oct-2016 17:27:19.375 INFO [Thread-5] org.apache.catalina.core.StandardService.stopInternal Stopping service Catalina 
30-Oct-2016 17:27:19.491 INFO [Thread-5] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-8080"] 
30-Oct-2016 17:27:19.493 INFO [Thread-5] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["ajp-nio-8009"] 
30-Oct-2016 17:27:19.494 INFO [Thread-5] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio-8080"] 
30-Oct-2016 17:27:19.495 INFO [Thread-5] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["ajp-nio-8009"] 

Почему Systemd считают Tomcat "не удалось"? Имеет ли это какое-либо отношение к этому сообщению «устаревшего PID-файла»?

ответ

1

Ах, неважно; это было answered already on serverfault для общих приложений Java.

В основном программы Java иногда не возвращают ожидаемый статус выхода при выключении в ответ на SIGTERM. Добавление следующего в файл tomcat.service устраняет проблему:

[Service] 
SuccessExitStatus=143 

 Смежные вопросы

  • Нет связанных вопросов^_^