137 votes

Exécuter une application Java en tant que service sous Linux

J'ai écrit une application serveur Java qui fonctionne sur une solution Linux standard hébergée virtuellement. L'application fonctionne en permanence en écoutant les connexions de socket et en créant de nouveaux gestionnaires pour elles. Il s'agit d'une implémentation côté serveur d'une application client-serveur.

Je le démarre en l'incluant dans le programme de démarrage. rc.local script du serveur. Cependant, une fois lancé, je ne sais pas comment y accéder pour l'arrêter et si je veux installer une mise à jour, je dois donc redémarrer le serveur pour redémarrer l'application.

Sur un PC Windows, pour ce type d'application, je pourrais créer un service Windows que je pourrais arrêter et démarrer à ma guise. Existe-t-il quelque chose de semblable sur une machine Linux, de sorte que si je démarre cette application, je puisse l'arrêter et la redémarrer sans avoir à redémarrer complètement le serveur.

Mon application s'appelle WebServer.exe. Elle est lancée au démarrage du serveur en l'incluant dans mon fichier rc.local comme tel :

java -jar /var/www/vhosts/myweb.com/phpserv/WebServer.jar &

Je suis un peu novice en matière de Linux, donc tout exemple serait apprécié, quel que soit le message. Cependant, j'ai un accès SSH et un accès FTP complet à la boîte pour installer les mises à jour, ainsi qu'un accès à un panneau Plesk.

0voto

hovanessyan Points 8800

Cependant, une fois qu'il a démarré, je ne sais pas comment y accéder pour l'arrêter.

Vous pouvez écrire un simple stop script qui recherche votre processus java, extrait le PID et appelle kill. Ce n'est pas très sophistiqué, mais c'est très simple. Quelque chose comme ça peut être utile pour commencer :

#!/bin/bash
PID = ps ax | grep "name of your app" | cut -d ' ' -f 1
kill $PID

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X