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

Shell et commandes GNU Discussion :

Garder un script en cours en se déconnectant


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 119
    Points : 68
    Points
    68
    Par défaut Garder un script en cours en se déconnectant
    Bonjour,


    Je suis amener, sur un de mes serveurs, à éxecuter des traitements via le shell qui peuvent être assez long ( et que je ne peux lancer en automatique ). Je me connecte via putty, et malheureusement, à cause d'une problème réseau ( peut-être de firewall ) je perd parfois ma connections.

    Malheureusement, le script que j'ai lancé s'arrête en même temps que ma session ( même si je lance en fond de tache, de la maniere : ./monScript.sh &. )

    Qu'est ce qu'il est possible de faire pour que la déconnection via putty n'empêche pas l'arrêt du script ?

    Merci !!

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    868
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 868
    Points : 1 022
    Points
    1 022
    Par défaut
    Il faudrait s'arranger pour que le père du processus correspondant au script ne soit pas celui correspondant à la connexion SSH et dont détruit à la déconnexion. Là je ne vois pas trop comment on fait ça, mais c'est sans aucun doute possible, parce que je me rappelle d'un comportement différents des programmes lancés en mode console selon que j'étais sous Xfce ou KDE : dans le premier cas, fermer la console ne fermait pas les programmes lancés avec tandis que dans le second cas, dès que je fermais la console, tous les programmes lancés avec elle étaient tués aussi sec.
    Il s'agit aussi peut-être et même probablement d'un élément à configurer dans le Shell.

  3. #3
    Expert confirmé
    Avatar de Katyucha
    Femme Profil pro
    DevUxSecScrumOps Full Stack Bullshit
    Inscrit en
    Mars 2004
    Messages
    3 287
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Irlande

    Informations professionnelles :
    Activité : DevUxSecScrumOps Full Stack Bullshit

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 287
    Points : 5 075
    Points
    5 075
    Par défaut
    Screeeeeeeeen !

    Ah ce petit utilitaire, tout en puissance !!!

    Tu te loggues en ssh sur ta machine et tu lances une deuxième console via la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    screen -dmS nom_du_screen /bin/bash
    La, tu te retrouves dans une console screen attached. Tu es plus dans ta console, tu es dans un autre bash.
    Tu lances ton script (ca tu sais faire)
    Maintenant, comme sortir de la?
    Tu détaches ta console
    Fait un petit ps -ef et observe. Tu as toujours une console ouverte et rattaché à l'init
    Pour rappeller ta console détachée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    screen -x nom_du_screen
    screen, c'est que du bon, bouffez en
    Grave urgent !!!

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Points : 1 803
    Points
    1 803
    Par défaut
    en lancant le script sous forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nohup mon_script &
    si des resultat doicent etre affichier a l'ecran et que tu souhaite (tant que la connection existe) le suivre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nohup monscript > mon_log 2>&1 & ; tail -f mon_log
    en cas de coupure seul l'affichage (tail) se stopera le script continue.
    Marc
    Slackware for ever ......
    BASH - KSH ( http://marcg.developpez.com/ksh/ )

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 119
    Points : 68
    Points
    68
    Par défaut
    Ok je vous remercie pour vos bonnes réponses.
    screen répond tres bien a mes attentes !
    merci beaucoup !

  6. #6
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Et sinon, disown est pas fait pour ça ? (cf man bash)
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

  7. #7
    Membre confirmé Avatar de herzleid
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 393
    Points : 509
    Points
    509
    Par défaut
    kikou,

    C'est juste pour dire que la commande permet de détacher un screen et de le récupérer sur son affichage.

    Tres pratique pour reprendre la main et qu'on à oublié de détacher le screen.

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

Discussions similaires

  1. Stopper exécution script en cours ?
    Par totoc1001 dans le forum MATLAB
    Réponses: 3
    Dernier message: 19/09/2014, 15h24
  2. [C#] TreeView garder le noeud en cours selectionner
    Par Bazou00 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/01/2009, 16h40
  3. Récupérer chemin absolu du script en cours d'exécution
    Par greatmaster1971 dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 15/09/2008, 09h07
  4. Arrêter un script en cours d'exécution
    Par trucentete dans le forum Administration système
    Réponses: 2
    Dernier message: 04/09/2008, 19h40
  5. arréter un script en cours d'éxécution
    Par mohcultiv dans le forum ASP
    Réponses: 1
    Dernier message: 03/09/2007, 14h16

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