Linux Daemon écrit en Java
Question
J'écris actuellement un démon Java. J'écris un script qui contient les commandes standard du démon (démarrer, arrêter, redémarrer, statut) et j'essaie de décider où aller lors de l'installation du démon.
Mon idée actuelle est la suivante:
Fichier PID: /var/run/myapp.pid
Script démon: /etc/init.d/myapp
App Java (.jar): / usr / bin / myapp
Journaux: /var/log/myapp.err , /var/log/myapp.log , / var / log / myapp .info (vous avez l'idée)
Configs: /etc/myapp.conf (ou / etc / myapp / configs-go-here si j'en ai plusieurs à l'avenir )
Je suis encore nouveau dans la structure de répertoires Linux, donc si je fais quelque chose de mal, faites-le-moi savoir. Ce qui me dérange le plus, c'est que mon application Java est un fichier .jar (archive) et non un binaire. Cela signifie-t-il donc que / usr / bin / n'est pas le "droit"? place pour cela?
La solution
Vous pouvez placer le fichier .jar
dans /usr/lib/myapp/myapp.jar
et faire en sorte que le script de démarrage fasse java -j / usr / lib / myapp / myapp.jar
En regardant de ce côté, le fichier jar est en réalité une bibliothèque utilisée par le binaire / usr / bin / java
, pour que ces emplacements me conviennent bien.
Autres conseils
La suggestion /usr/lib/myapp/myapp.jar
est sur la bonne voie, mais / usr / lib
concerne les fichiers spécifiques à l'architecture, car Java < Les archives code> jar sont indépendantes de la plate-forme, /usr/share/myapp/myapp.jar
est un meilleur emplacement.