IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Lancer un .jar sous linux


Sujet :

Linux

  1. #1
    Membre éclairé
    Inscrit en
    Août 2010
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 416
    Points : 828
    Points
    828
    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

  2. #2
    Membre actif
    Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2002
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 121
    Points : 217
    Points
    217
    Par défaut
    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"

  3. #3
    En attente de confirmation mail
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Octobre 2010
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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 : 501
    Points : 1 060
    Points
    1 060
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    nohup java -jar fichier.jar

  4. #4
    Membre éclairé
    Inscrit en
    Août 2010
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 416
    Points : 828
    Points
    828
    Par défaut
    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 )

  5. #5
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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 : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    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.

  6. #6
    Membre éclairé
    Inscrit en
    Août 2010
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 416
    Points : 828
    Points
    828
    Par défaut
    C'est ce que je cherche
    Tu peux me dire comment faire stp ?
    merci

  7. #7
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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 : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    25:35:respawn:/opt/scripts/rc/lanceur_appli

  8. #8
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Points : 4 130
    Points
    4 130
    Par défaut
    Sinon tu as Screen aussi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  9. #9
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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 : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    screen ne relance pas automatiquement l'application si elle pète ou est tuée.

  10. #10
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Points : 4 130
    Points
    4 130
    Par défaut
    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
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  11. #11
    Membre éclairé
    Inscrit en
    Août 2010
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 416
    Points : 828
    Points
    828
    Par défaut
    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

  12. #12
    Membre éclairé
    Inscrit en
    Août 2010
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 416
    Points : 828
    Points
    828
    Par défaut
    je dois mettre le nom d'application comme suit dans inittab?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  13. #13
    Membre éclairé
    Inscrit en
    Août 2010
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 416
    Points : 828
    Points
    828
    Par défaut
    si je lance mon application sous forme de daemon et elle se bloque, elle se lance automatiquement aprés?

  14. #14
    Membre éclairé
    Inscrit en
    Août 2010
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 416
    Points : 828
    Points
    828
    Par défaut
    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 ?

  15. #15
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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 : 5 196
    Points : 12 264
    Points
    12 264

  16. #16
    Membre éclairé
    Inscrit en
    Août 2010
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 416
    Points : 828
    Points
    828
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. lancer interface graphique sous linux
    Par fripette dans le forum DB2
    Réponses: 11
    Dernier message: 30/10/2008, 09h54
  2. mail.jar sous linux
    Par DevServlet dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 23/09/2008, 08h57
  3. erreur de jar sous linux
    Par shawty dans le forum Langage
    Réponses: 2
    Dernier message: 16/05/2007, 16h56
  4. lancer un .exe sous linux
    Par gy0m76 dans le forum Linux
    Réponses: 4
    Dernier message: 16/12/2006, 12h35
  5. impossible de lancer mon jar sous kubuntu
    Par altadeos dans le forum NetBeans
    Réponses: 2
    Dernier message: 14/11/2006, 13h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo