Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Linux > Applications > Shell

Shell Vos questions sur l'utilisation des commandes shell

Réponse
 
Outils de la discussion
Vieux 19/08/2008, 13h06   #1 (permalink)
Invité régulier
 
Date d'inscription: septembre 2006
Messages: 16
Envoyer un message via MSN à sebo13
Par défaut Script Shell : Lancement d'un service java

Bonjour,

Je dispose d'une application qui fonctionne sous windows et linux en java . Sous windows l'application crait 2 services que l'on va appeler "serv1" et "serv2". Sous linux (ubuntu 8.04) j'utilise dans le terminal la commande "java -jar serv1.jar (et serv2.jar) pour lancer les services.
Je souhaiterai créer 1 fichier sh pour chaque service afin de les lancer au démarrage et de pouvoir les stop et start.
J'ai essayé avec le "skeleton" mais je suis un peu limité à ce niveau.

Merci d'avance de votre aide.

Dernière modification par sebo13 ; 19/08/2008 à 14h26
sebo13 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/08/2008, 08h51   #2 (permalink)
Invité régulier
 
Date d'inscription: septembre 2006
Messages: 16
Envoyer un message via MSN à sebo13
Par défaut

Comment puis je faire pour démarrer les 2 daemon au lancement de ubuntu 8.04 en sachant qu'ils sont en .jar.

S'il vous faut plus d'informations , n'hésiter pas à me le demander.

Merci d'avance.
sebo13 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/08/2008, 10h50   #3 (permalink)
Membre éprouvé
 
Avatar de KindPlayer
 
Date d'inscription: février 2007
Messages: 451
Par défaut

Dans ton script tu dois executer comme tu as dit java -jar <fichier jar>. Pour ça il faut que le chemin vers java soit dans le PATH. Il faut effectivement utiliser le skeleton pour créer ton script. Pour qu'il soit lancé au démarrage, il faut mettre un lien vers ce script dans /etc/rc<numero>.d/ avec comme nom S<chiffre><chiffre><Nom du script> par exemple ln -s /etc/init.d/mon_demon.sh /etc/rc2.d/S99mon_demon (il vaut mieux mettre un nombre le plus élevé possible au cas ou ton service nécessite d'autres services qui doivent etre activés avant) Verifie en tapant runlevel dans ton terminal quels repertoires rc vont etre visités. Si c'est 2, seront visités rc0.d, rc1.d,rc2.d, ton lien doit etre dans un de ces répertoires.
Pour écrire le script de démarrage basé sur le skeleton, tu peux t'inspirer des scripts deja presents dans init.d, ou regarder ici:
http://www.commentcamarche.net/faq/s...-service-demon
__________________
La science est ce que nous comprenons suffisamment bien pour l'expliquer à un ordinateur. L'art, c'est tout ce que nous faisons d'autre.
Donald E. Knuth
KindPlayer est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/08/2008, 10h59   #4 (permalink)
Invité régulier
 
Date d'inscription: septembre 2006
Messages: 16
Envoyer un message via MSN à sebo13
Par défaut

Merci Beaucoup
sebo13 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/08/2008, 13h11   #5 (permalink)
Invité régulier
 
Date d'inscription: septembre 2006
Messages: 16
Envoyer un message via MSN à sebo13
Par défaut

Code :
PATH=/usr/sbin:/usr/bin:/sbin:/bin
DESC="xxx server"
NAME=xxxxxxxxxxxxxxxx.jar
DAEMON=/usr/bin/java -jar $NAME
DAEMON_ARGS=""
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
j'ai mis un racourcis du serveur dans "bin" , mon serveur ne monte pas.

Si vous avez une idée .

Merci

Dernière modification par sebo13 ; 20/08/2008 à 13h35
sebo13 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/08/2008, 12h07   #6 (permalink)
Invité régulier
 
Date d'inscription: septembre 2006
Messages: 16
Envoyer un message via MSN à sebo13
Par défaut

Bonjour,

Bon visiblement , mais explications ne doivent pas etre géniale.
Alors j'ai changé mon fusil d'épaule.
Complément d'information:
Cette application tourne sous windows aucun pkg n'a été édité pour les distri linux. Mais étant donné que ce logiciel est en java . Nous avons récupéré le dossier contenant le logiciel et copier dans un répertoire sous Ubuntu8.04 ./usr/local
Ce dossier contient 2 services "serv1.jar" et "serv2.jar" que je démarre de cette manière.
Code :
Screen –d –m –S xxxxxxxxxxxx java –jar serv1.jar
et
Code :
Screen –d –m –S xxxxxxxxxxxx java –jar serv2.jar
Apres test avec les applications clientes fonctionnent bien.

Je souhaiterai démarrer ces deux serveurs au démarrage de ubuntu.
Pour ce qui est du skeleton , j'ai abandonné.
Par contre , j'ai trouvé un script shell interressant que j'ai formaté de cette manière.Mais il me manque pas mal de chose, exemple comment lui indiquer ou est le "logiciel.jar" .

Code :
#!/bin/bash

$NAME="java_logiciel"
# $NAME=$2
$CMD="java -jar logicielle.jar"
# $CMD=$3

case "$1" in
start)
screen -d -m -S $NAME $CMD
;;
stop)
kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'$
;;
status)
if [[ `screen -ls |grep $NAME` ]]
then
echo "$NAME is running."
else
echo "$NAME not found."
fi
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
;;
esac
exit 0
Etant débutant dans ce dommaine , je réclame votre aide. En espérant avoir été plus clair.

Merci d'avance.
sebo13 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/08/2008, 12h13   #7 (permalink)
Membre éprouvé
 
Avatar de KindPlayer
 
Date d'inscription: février 2007
Messages: 451
Par défaut

Et qu'est ce qui ne marche pas au juste? Tu peux tracer ton script? On en saura plus avec des messages d'erreur
__________________
La science est ce que nous comprenons suffisamment bien pour l'expliquer à un ordinateur. L'art, c'est tout ce que nous faisons d'autre.
Donald E. Knuth
KindPlayer est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Linux > Applications > Shell



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide