|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2003 Messages : 40 ![]() |
Bonjour à tous.
Alors voila j'arrive à lancer une application java via SSH sur un serveur Linux redhad. Je lance cette application (un serveur socket en Java) comme ceci : Mais pour que le serveur socket marche il faut que je fasse : Par contre lorsque je quitte mon client SSH (putty) le serveur socket s'arrête. Lorsque je fais Le serveur ne marche socket plus ... il faut que je fasse un fg 1 ... Avez-vous une idée pour lancer cette application en tache de fond afin qu'elle fonctionne même si je quitte mon client SSH ? Merci |
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2003 Messages : 40 ![]() |
J'ai trouvé comment lancé le serveur avec :
Code :
/usr/bin/nohup java -jar MonServer.jar & Le problème c'est que je sais pas comment stopper mon application. Avez-vous une idée ? Merci |
|
|
00
|
|
|
#3 | ||
|
Membre éprouvé
![]() Inscription : mars 2002 Messages : 401 ![]() |
Salut,
Tu peux essayer ça : Code :
|
||
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2003 Messages : 40 ![]() |
Merci pour votre réponse.
En fait mon application est déjà lancée avec Code :
/usr/bin/nohup java -jar MonServer.jar & dois-je le supprimer ? Dois-je faire un Merci |
|
|
00
|
|
|
#5 | ||
|
Membre éprouvé
![]() Inscription : mars 2002 Messages : 401 ![]() |
Chez moi il ne créé aucun fichier, mais la page de man indique que la commande nohup dépend de l'interpréteur de commande et peut varier. Mais une recherche indique que nohup peut créer un fichier nohup.out ou $HOME/nohup.out qui contient la sortie standard du programme : http://www.ss64.com/bash/nohup.html.
Maintenant ce qui est important c'est de garder le PID du programme lancé. Dans bash, la variable $! contient le PID du dernier programme lancé. C'est pourquoi avant d'executer une autre commande, après avoir lancé "MonServer", il faut tout de suite faire Ainsi le PID du programme est stocké dans le fichier "MonServer.pid". Avec ça, il est très facile de stoper le programme. En faisant : Tu auras le PID du programme lancé, maintenant pour utiliser cette valeur tu utilises les backquotes : http://www.faqs.org/docs/abs/HTML/commandsub.html. Les backquotes permettent de réassigner la sortie d'une commande à un autre contexte, donc en faisant : Tu utilises la valeur contenue dans le fichier MonServer.pid comme argument à la commande kill. Tu pourrais aussi faire : Code :
Le PID c'est le Process IDendification un numéro attribué par le noyau à chaque processus sur le système. À partir du PID, on peut accéder à beaucoup d'informations sur un programme en utilisant par exemple /proc/$PID/ : http://ftp.traduc.org/doc-vf/gazette...5/lg115-E.html. |
||
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2003 Messages : 40 ![]() |
Merci pour vos réponse mais j'ai un problème.
J'ai supprimé le fichier nohup.out pensant que ça allait arrêté mon serveur mais il est toujours en route. Alors lorsque je fait un tail -f nohup.out j'arrive plus à accéder à MonServer. Comment puis-je faire pour arrêter cette application en tache de fond ? Merci |
|
|
00
|
|
|
#7 |
|
Membre éprouvé
![]() Inscription : mars 2002 Messages : 401 ![]() |
Et ça :
Code :
kill `ps -e | grep MonServer | awk '{print $1;}'` |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com