web-dev-qa-db-fra.com

La commande de service ne fonctionne pas avec Tomcat7

J'ai une nouvelle installation Ubuntu 16.04, où j'ai installé Tomcat7 en utilisant apt-get install, et j'ai quelques problèmes pour essayer d'interagir avec le service en utilisant la commande service.

Je comprends que si Tomcat est installé sur le système, le moyen correct d’interagir avec le service consiste à utiliser la commande service.

Après le redémarrage du système, je constate que Tomcat7 déploie une application war comme prévu et que tout semble fonctionner correctement dans l'application Web.

Mais si je veux redémarrer mon Tomcat:

Sudo service Tomcat7 restart

Je vois dans le journal catalina.out qu'il y a des erreurs causées par l'adresse déjà utilisée. Il existe toute autre application utilisant le même port.

Si j'essaie d'arrêter le Tomcat, j'utilise comme toujours service Tomcat7 stop:

usr@Srv2:~$ Sudo service Tomcat7 stop
[Sudo] password for qgenviewer: 
usr@Srv2:~$ ps -aux | grep Tomcat7
Tomcat7    1409  2.5  2.3 9268692 377788 ?      Sl   12:11   0:27     /usr/lib/jvm/Java-7-openjdk-AMD64/bin/Java -Djava.util.logging.config.file=/var/lib/Tomcat7/conf/logging.properties -Djava.util.logging.manager=org.Apache.juli.ClassLoaderLogManager -Djava.awt.headless=true -Xms512m -Xmx6144m -XX:+UseConcMarkSweepGC -Djava.endorsed.dirs=/usr/share/Tomcat7/endorsed -classpath /usr/share/Tomcat7/bin/bootstrap.jar:/usr/share/Tomcat7/bin/Tomcat-juli.jar -Dcatalina.base=/var/lib/Tomcat7 -Dcatalina.home=/usr/share/Tomcat7 -Djava.io.tmpdir=/tmp/Tomcat7-Tomcat7-tmp org.Apache.catalina.startup.Bootstrap start
usr+   1762  0.0  0.0  21316   924 pts/0    S+   12:29   0:00 grep --    color=auto Tomcat7

Donc, il semble que la commande service ne fonctionne pas car Tomcat est toujours en cours d'exécution. Si j'essaie service Tomcat7 status, le résultat est le suivant:

usr@Srv2:~$ Sudo service Tomcat7 status
● Tomcat7.service - LSB: Start Tomcat.
   Loaded: loaded (/etc/init.d/Tomcat7; bad; vendor preset: enabled)
   Active: failed (Result: exit-code) since vie 2016-05-06 12:11:29 CEST; 21min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1356 ExecStart=/etc/init.d/Tomcat7 start (code=exited, status=1/FAILURE)
    Tasks: 38 (limit: 512)
   CGroup: /system.slice/Tomcat7.service
           └─1409 /usr/lib/jvm/Java-7-openjdk-AMD64/bin/Java -Djava.util.logging.config.file=/var/lib/Tomcat7/conf/logging.properties -Djava.util.logging.manager=org.Apache.juli.C

may 06 12:11:24 Srv2 systemd[1]: Starting LSB: Start Tomcat....
may 06 12:11:24 Srv2 Tomcat7[1356]:  * Starting Tomcat servlet  engine Tomcat7
may 06 12:11:29 Srv2 Tomcat7[1356]:    ...fail!
may 06 12:11:29 Srv2 systemd[1]: Tomcat7.service: Control process exited, code=exited status=1
may 06 12:11:29 Srv2 systemd[1]: Failed to start LSB: Start Tomcat..
may 06 12:11:29 Srv2 systemd[1]: Tomcat7.service: Unit entered failed state.
may 06 12:11:29 Srv2 systemd[1]: Tomcat7.service: Failed with result 'exit-code'.
may 06 12:28:38 Srv2 systemd[1]: Stopped LSB: Start Tomcat..

Toute aide de ce qui se passe ...? Il semble enfin que service Tomcat7 ne fonctionne pas. Quelle pourrait-être la cause? Ensuite, qui démarre le service Tomcat au démarrage du système? Et comment puis-je arrêter ou redémarrer le service Tomcat7?

Merci pour votre temps.

Éditer

Afin de donner plus d'informations, et suivant les conseils de @Jens Grivolla, voici le résultat pour pstree:

usr@Srv2:~$ pstree -lsup 1409
systemd(1)───Java(1409,Tomcat7)─┬─{Java}(1412)
                                ├─{Java}(1418)
                                 ...
                                ├─{Java}(2262)
                                └─{Java}(2313)
2
xarmengol

Vous pouvez essayer ce qui suit:

  • Commencez par obtenir le PID du service Tomcat en cours d'exécution, par exemple. $ ps aux|grep Tomcat
  • Ensuite, essayez de voir comment il a été lancé en utilisant pstree (utilisez man pstree pour comprendre les options utilisées), par exemple.

    $ pstree -lsup 26276
    systemd(1)───Java(26276,Tomcat7)─┬─{Java}(26277)
                                     ├─{Java}(26278)
                                     ├─{Java}(26279)
                                     ├─{Java}(26280)
                                     ├─...
                                     └─{Java}(1252)
    

Donc, dans mon cas, il a été clairement lancé par systemd. Si vous voyez quelque chose de différent, alors au moins vous avez une idée où enquêter ...

1
Jens Grivolla