Précédent   Forum des professionnels en informatique > Systèmes > Linux
Linux Forum d'entraide sur le système Linux. Avant de poster -> Tutoriels Linux, F.A.Q Linux
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/04/2011, 12h17   #1
Membre chevronné
 
Inscription : août 2010
Messages : 416
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 416
Points : 732
Points : 732
Par défaut Lancer un .jar sous linux

Bonjour,
j'ai un .jar a lancer sous linux
j'ai utilisé la commande java -jar mon appli.jar dans mon terminal,
mon application est supposé tourné sans arret..mais une fois que je ferme mon terminal, l'application se ferme, qqu'un a une idée comment faire pour que l'application tourne sans arrete
marouene_ est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/04/2011, 12h26   #2
Membre habitué
 
Développeur informatique
Inscription : juillet 2002
Messages : 96
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2002
Messages : 96
Points : 120
Points : 120
Bonjour,

c'est normal car ton appli est un processus fils du shell que tu utilises.

tu peux essayer ((java -jar mon appli.jar &)&) pour forker deux fois.
Ca devrais fonctionner.

Cordialement.
__________________
Je connais des gens qui ne sont pas aware, il ne sont pas qu courant. il ne sont pas a l'attention de savoir qu'ils existent.
"J-C Van dam"
Lharuun est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/04/2011, 13h16   #3
Membre Expert
 
Avatar de Nudger
 
Homme Thomas Arnaud
Directeur de projet
Inscription : octobre 2010
Messages : 452
Détails du profil
Informations personnelles :
Nom : Homme Thomas Arnaud
Âge : 36
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Directeur de projet
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2010
Messages : 452
Points : 1 012
Points : 1 012
Envoyer un message via Skype™ à Nudger
Bonjour,

Lorsqu'un terminal est fermé, le system envoie un signal SIGHUP à tous les processus exécutés depuis ce terminal et c'est ça qui provoque l'arrêt de certains processus.
Le plus propre pour éviter qu'un programme ne soit terminé à la fermeture d'un terminal c'est d'utiliser la commande nohup qui permet d'immuniser les process au signal SIGHUP.
Code :
nohup java -jar fichier.jar
__________________
www.nudge.org Surveillez et optimisez vos applications Java
Nudger est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 01/04/2011, 17h40   #4
Membre chevronné
 
Inscription : août 2010
Messages : 416
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 416
Points : 732
Points : 732
Merci pour votre réponse, j'ai utilisé nohup et ca ma retourné ca
nohup: les entrées sont ignorées et la sortie est ajoutée à `nohup.out'

Ca marche ?

SInon est ce possible de créer un daemon de mon application afin qu'elle se relance meme si mon pc s'eteind

(l'idée c'est de mettre mon application sur un serveur d'application Linux, ou elle doit faire tes tests periodiquement )
marouene_ est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/04/2011, 20h19   #5
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 534
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 534
Points : 7 743
Points : 7 743
oui ca veut dire que ca log dans le fichier nohup.out tout simplement...

pour daemoniser l'application y'a plusieurs moyens de le faire bien sur, mais le plus simple c'est de lancer depuis l'inittab en mode respawn ainsi meme si tu tues par erreur l'application hop elle redémarre, sans avoir à rebooter ni meme à intervenir.
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 04/04/2011, 13h23   #6
Membre chevronné
 
Inscription : août 2010
Messages : 416
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 416
Points : 732
Points : 732
C'est ce que je cherche
Tu peux me dire comment faire stp ?
merci
marouene_ est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 04/04/2011, 14h34   #7
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 534
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 534
Points : 7 743
Points : 7 743
Citation:
Envoyé par marouene_ Voir le message
C'est ce que je cherche
Tu peux me dire comment faire stp ?
merci
comme indiqué tu édites /etc/inittab
(fais une copie de sauvegarde avant si tu te sens parano)
tu te réfère au man page pour les options et exemples
ici : http://www.delafond.org/traducmanfr/...inittab.5.html

par exemple :
Code :
25:35:respawn:/opt/scripts/rc/lanceur_appli
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 04/04/2011, 23h09   #8
Membre Expert
 
Homme
budget et contrôle de gestion
Inscription : décembre 2006
Messages : 894
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 44
Localisation : France

Informations professionnelles :
Activité : budget et contrôle de gestion
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2006
Messages : 894
Points : 1 539
Points : 1 539
Sinon tu as Screen aussi.

Code :
1
2
3
4
5
6
7
 
screen -S <le_nom_choisi>
la commande que tu veux lancer
<CTRL><a> puis <d> ca détache le tty
 
pour récupérer le tty utiliser 
screen -r <le_nom_choisi>
__________________
Winnt

C'est en Linuxant qu'on devient .... geek

Intel Core i5 750 / 8 Go ram / Hdd 2 To / NVIDIA GeForce GTS 250 1Go sous Gentoo.
Dual core E6300 / 2Go ram / Hdd 1 To / Ati 9800XT sous Debian Testing.
Atom N330 / 4Go ram / Hdd 5To / intel GMA 950 sous Debian Testing

Ici un article de présentation de la distribution Gentoo http://winnt.developpez.com/tutoriel...tation-gentoo/
Winnt est déconnecté   Envoyer un message privé Réponse avec citation 02
Vieux 05/04/2011, 08h36   #9
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 534
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 534
Points : 7 743
Points : 7 743
screen ne relance pas automatiquement l'application si elle pète ou est tuée.
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 06/04/2011, 08h57   #10
Membre Expert
 
Homme
budget et contrôle de gestion
Inscription : décembre 2006
Messages : 894
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 44
Localisation : France

Informations professionnelles :
Activité : budget et contrôle de gestion
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2006
Messages : 894
Points : 1 539
Points : 1 539
En effet, frp31.
Mais il me semble à lire le début de la discussion que le problème de marouene vient du fait que dès qu'il ferme son terminal son programme stoppe (chose normale).
D'où l'idée du screen qui permet de pallier à la fermeture du terminal si l'on a pris la précaution de le détacher avant.
__________________
Winnt

C'est en Linuxant qu'on devient .... geek

Intel Core i5 750 / 8 Go ram / Hdd 2 To / NVIDIA GeForce GTS 250 1Go sous Gentoo.
Dual core E6300 / 2Go ram / Hdd 1 To / Ati 9800XT sous Debian Testing.
Atom N330 / 4Go ram / Hdd 5To / intel GMA 950 sous Debian Testing

Ici un article de présentation de la distribution Gentoo http://winnt.developpez.com/tutoriel...tation-gentoo/
Winnt est déconnecté   Envoyer un message privé Réponse avec citation 11
Vieux 07/04/2011, 11h46   #11
Membre chevronné
 
Inscription : août 2010
Messages : 416
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 416
Points : 732
Points : 732
oui, le 1er probleme que j'ai rencontré est ca , enfet mon application doit tourner en temps continue, meme si mon serveur crash , elle doit redemarrer avec lui
marouene_ est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/04/2011, 10h34   #12
Membre chevronné
 
Inscription : août 2010
Messages : 416
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 416
Points : 732
Points : 732
je dois mettre le nom d'application comme suit dans inittab?
Code :
1
2
3
4
# inittab for linux
id:1:initdefault:
rc::bootwait:/etc/rc
1:1:respawn:/etc/nomapplication
car la quand je ferme le terminal l'application s'arrete, meme avec nohup
marouene_ est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 25/04/2011, 12h59   #13
Membre chevronné
 
Inscription : août 2010
Messages : 416
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 416
Points : 732
Points : 732
si je lance mon application sous forme de daemon et elle se bloque, elle se lance automatiquement aprés?
marouene_ est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 29/04/2011, 11h01   #14
Membre chevronné
 
Inscription : août 2010
Messages : 416
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 416
Points : 732
Points : 732
Citation:
Envoyé par frp31 Voir le message
oui ca veut dire que ca log dans le fichier nohup.out tout simplement...

pour daemoniser l'application y'a plusieurs moyens de le faire bien sur, mais le plus simple c'est de lancer depuis l'inittab en mode respawn ainsi meme si tu tues par erreur l'application hop elle redémarre, sans avoir à rebooter ni meme à intervenir.
Salut, tu peux me donner des infos sur le mode respawn stp ?
marouene_ est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/04/2011, 11h46   #15
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 534
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 534
Points : 7 743
Points : 7 743
http://www.delafond.org/traducmanfr/...inittab.5.html
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 11
Vieux 29/04/2011, 13h08   #16
Membre chevronné
 
Inscription : août 2010
Messages : 416
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 416
Points : 732
Points : 732
salut,

merci pour le lien,
j'ai cherché le fichier inittab dans /etc mais je ne l'ai pas trouvé
sinon voici mon daemon que j'ai crée

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#! /bin/sh
#
# skeleton example file to build /etc/init.d/ scripts.
#  This file should be used to construct scripts for /etc/init.d.
#
#  Written by Miquel van Smoorenburg <miquels@cistron.nl>.
#  Modified for Debian GNU/Linux
#  by Ian Murdock <imurdock@gnu.ai.mit.edu>.
#
# Version: @(#)skeleton  1.9  26-Feb-2001  miquels@cistron.nl
#
 
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/daemon
NAME=scriipt
DESC="some daemon"
 
test -x $DAEMON || exit 0
 
set -e
 
case "$1" in
  start)
 echo -n "Starting $DESC: "
 start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
  --exec $DAEMON
 echo "$NAME."
 ;;
  stop)
 echo -n "Stopping $DESC: "
 start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
  --exec $DAEMON
 echo "$NAME."
 ;;
  restart)
 echo -n "Restarting $DESC: "
 start-stop-daemon --stop --quiet --pidfile \
  /var/run/$NAME.pid --exec $DAEMON
 sleep 1
 start-stop-daemon --start --quiet --pidfile \
  /var/run/$NAME.pid --exec $DAEMON
 echo "$NAME."
 ;;
  *)
 N=/etc/init.d/$NAME
 echo "Usage: $N {start|stop|restart|force-reload}" >&2
 exit 1
 ;;
esac
 
exit 0
marouene_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h11.


 
 
 
 
Partenaires

Hébergement Web