![]() |
| 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é. | |||||||
|
|||||||
| Shell Vos questions sur l'utilisation des commandes shell |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité régulier
![]() |
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 |
|
|
|
|
|
#3 (permalink) |
|
Membre éprouvé
![]() Date d'inscription: février 2007
Messages: 451
|
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 |
|
|
|
|
|
#5 (permalink) |
|
Invité régulier
![]() |
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 Si vous avez une idée . Merci Dernière modification par sebo13 ; 20/08/2008 à 13h35 |
|
|
|
|
|
#6 (permalink) |
|
Invité régulier
![]() |
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 Code :
Screen –d –m –S xxxxxxxxxxxx java –jar serv2.jar 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
Merci d'avance. |
|
|
|
|
|
#7 (permalink) |
|
Membre éprouvé
![]() Date d'inscription: février 2007
Messages: 451
|
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 |
|
|
|
![]() |
![]() |
||
Script Shell : Lancement d'un service java
|
||
| Outils de la discussion | |
|
|