[BASH] Pb avec commande nohup

keemun -  
 keemun -
Bonjour,

J'ai une application graphique qui lance, après clic sur un bouton le script bash traitement.sh. Ce script appelle lui-même un autre script toto.sh de la manière suivante :
#!/bin/sh
nohup ./toto.sh &

Normalement, le traitement toto.sh devrait continuer à tourner en tâche de fond même après fermeture de ma session grâce à la commande nohup.
Lorsque je lance traitement.sh nohup manuellement dans une console, que je kill ma console puis que je ferme ma session linux, pas de problème.
Par contre si je lance traitement.sh par l'application graphique puis que je ferme ma session linux .... le processus ne tourne plus.

J'espère que mes explications sont suffisamment claires, quelqu'un peut-il m'aider ?

1 réponse

  1. chog
     
    normal !

    nohup rattache un processus lancé depuis le shell au processus 1 comme parent.

    hors c'est le shell qui fait ce transfert

    donc si la commande est lancée par une application alors la fermeture de l'application tue le process.

    rien de plus normal c'est le fonctionnement normal de la commande nohup
    0
    1. keemun
       
      Ok, merci chog.
      Mais dans ce cas, existe-t'il un moyen de permettre au processus de continuer à tourner malgré la fermeture de la session ?
      0
      1. keemun > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Génial !!!!!! Ca marche exactement comme je le souhaitais avec le screen.
        Merci bcp bcp bcp pour ton aide !

        Keemun.
        0