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)
Vous pouvez essayer ce qui suit:
$ 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 ...