Lancer un jar comme service sous Fedora

Lancer un jar comme service sous Fedora - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 02-09-2007 à 18:53:52    

Salut,
 
Je voudrais lancer un script java comme service sur un serveur fedora ... 1. Je n'y arrive pas, je tente plusieurs truc sans succès. Je trouve pas trop de doc ... ou alors c pour debian. J'ai bien un solution mais il faut rebooter le serveur. Si je lance le serveur avec une connection ssh, le script s'arrète dès que je me déconnecte. Si quelqu'un pouvait me donner une solution ça serait cool
 
Exemple de truc qui marche pas. Il me dit rien du tout mais ça marche pas
 

Code :
  1. start()
  2. {
  3. daemon /usr/java/jre1.6.0/bin/java -jar /home/traitement/test.jar 
  4. }
  5. ou
  6. start()
  7. {
  8. daemon /usr/java/jre1.6.0/bin/java --options -jar /home/traitement/test.jar 
  9. }


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 02-09-2007 à 18:53:52   

Reply

Marsh Posté le 02-09-2007 à 19:37:37    

tu dois certainement avoir un script init d'exemple dans /etc/init.d
 
Inspire t'en pour ton script de lancement ;)


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 02-09-2007 à 20:35:26    

C'est ce que je fais mais je patauge ... En plus je ne sais pas comment activer un quelconque message d'erreur qui m'aiguillerait.


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 02-09-2007 à 20:37:18    

il ressemble à quoi ton script ?
Me dis pas que c'est les 3 lignes au-dessus quand meme :D


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 02-09-2007 à 23:53:48    

... heu si :D Une fois que ça marchera je ferais les stop&restart


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 03-09-2007 à 09:39:28    

ouais non, mais balance le script complet.
parce que la si tu définies juste des fonctions, normal qu'il ne fasse rien :D


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 03-09-2007 à 20:23:00    

Aller, si t'insistes
 

Code :
  1. #!/bin/bash
  2. start()
  3. {
  4. daemon /usr/java/jre1.6.0/bin/java -d -jar /home/traitement/Scripts/test.jar
  5. }


 
et je pensais que ça marchait avec un "/etc/init.d/test start"
 


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 03-09-2007 à 20:26:25    

Et t'es sûr que t'as regardé comment fonctionnaient les autres scripts dans /etc/init.d ?


---------------
Be the one with the flames.
Reply

Marsh Posté le 03-09-2007 à 20:52:13    

Je viens de rentrer en fait, la je regarde mais je comprends pas trop ce que je fais si comment marche les service en tache de fond.
 
Pour l'instant j'en suis là
 

Code :
  1. #!/bin/bash
  2. # Source function library.
  3. . /etc/rc.d/init.d/functions
  4. start()
  5. {
  6. daemon /home/traitement/Scripts/runTest 
  7. }
  8. stop()
  9. {
  10. }
  11. restart()
  12. {
  13. }
  14. RETVAL=0
  15. case "$1" in
  16. start)
  17. start
  18. ;;
  19. stop)
  20. stop
  21. ;;
  22. restart)
  23. restart
  24. ;;
  25. *)
  26. echo $"Usage: $0 {start|stop|restart}"
  27. exit 1
  28. esac
  29. exit $RETVAL


 
avec runTest qui contient

Code :
  1. #!/bin/bash
  2. /usr/java/jre1.6.0/bin/java -jar /home/traitement/Scripts/test.jar


 
Et là quand je tape /etc/ini.d/test ça a l'air de marcher ... puis qu'il ne me rend pas la main ... Et gros j'arriverais à rien tant que je comprends pas comment lancer un prog en tâche de fond, la commande "daemon" n'est pas le mot clef magique qui fait ça.


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 03-09-2007 à 21:01:55    

Ok donc en rajoutant le classique & à la fin mais je vois pas trop ce qui fait que dans certain cas le script s'arrète un fois qu'on se déconnecte et des fois non ...


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 03-09-2007 à 21:01:55   

Reply

Marsh Posté le 03-09-2007 à 21:07:50    

T'es pas loin ;)
 

Citation :

#!/bin/bash
 
# Source function library.
. /etc/rc.d/init.d/functions
 
 
start()
{
 /usr/java/jre1.6.0/bin/java -jar /home/traitement/Scripts/test.jar &
}
 
stop()
{
}
 
restart()
{
}
 
 
 
 
RETVAL=0
 
case "$1" in
start)
 start
 ;;
stop)
 stop
 ;;
restart)
 restart
 ;;
*)
 echo $"Usage: $0 {start|stop|restart}"
 exit 1
esac
 
exit $RETVAL[/cpp]


---------------
Be the one with the flames.
Reply

Marsh Posté le 04-09-2007 à 09:24:32    

Ricco a écrit :

Aller, si t'insistes
 

Code :
  1. #!/bin/bash
  2. start()
  3. {
  4. daemon /usr/java/jre1.6.0/bin/java -d -jar /home/traitement/Scripts/test.jar
  5. }


 
et je pensais que ça marchait avec un "/etc/init.d/test start"
 


Bah normal que ca ne fasse rien, quand tu lances ton script, tu ne fait que déclarer une fonction en mémoire, puis tu sors.
Faut rajouter le switch derrière qui va tester l'argument (start, stop, restart, etc.) et qui va appeller la bonne fonction :D


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 04-09-2007 à 09:26:31    

Riot a écrit :

T'es pas loin ;)
 

Citation :

#!/bin/bash
 
# Source function library.
. /etc/rc.d/init.d/functions
 
 
start()
{
 /usr/java/jre1.6.0/bin/java -jar /home/traitement/Scripts/test.jar &
}
 
stop()
{
}
 
restart()
{
}
 
 
 
 
RETVAL=0
 
case "$1" in
start)
 start
 ;;
stop)
 stop
 ;;
restart)
 restart
 ;;
*)
 echo $"Usage: $0 {start|stop|restart}"
 exit 1
esac
 
exit $RETVAL[/cpp]



Spa tres propre ca :o
 
man start-stop-daemon
 
Ca permet de lancer un process en tache de fond, de changer son user (pour pas le lancer sous root), de stocker son PID, etc.
Et donc apres d'arreter ce meme process.


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 04-09-2007 à 09:28:18    

C'est vrai que c'est pas faux :jap:


---------------
Be the one with the flames.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed