[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

logout, bash... et ?



Bonjour,

La machine distante est  une debian potato. Et je voudrais pouvoir faire la manipulation suivante. Je me logge sur cette machine distante. Je veux executer une application en mode interactif (ncftp, bitchx...), puis lorsque je me deloggue que cette application continue a tourner dans les processus en tache de fond. Ainsi au prochain log, je n'ai plus qu'en remettre ce processus en tache active pour que tout reprenne.

J'ai donc fait:
>logging
ncftp
ctrl+z pour la suspendre
bg (pour la passer en tache de fond)
>delogging
>logging
fg numerodupiddelatache, mais la tache n'existe plus.

Normal me semble t il puisque lorsque je me deloggue, tous les processus fils de mon shell en l'occurence le bash sont tués par la meme occasion.

Comment alterer ce phénomene ?

Je fais donc un man bash

et je lis 
     If  the  huponexit  shell  option has been set with shopt,
       bash sends a SIGHUP to all jobs when an interactive  login
       shell exits.

pourtant un 
jiti@gpl:~$ shopt | grep huponexit 
huponexit       off

ce qui semble etre contradictoire. Dans le meme manuel je lis


       The shell exits by  default  upon  receipt  of  a  SIGHUP.
       Before exiting, it resends the SIGHUP to all jobs, running
       or stopped.  Stopped jobs are sent SIGCONT to ensure  that
       they  receive the SIGHUP.  To prevent the shell from send­
       ing the signal to a particular job, it should  be  removed
       from  the  jobs  table  with the disown builtin (see SHELL
       BUILTIN COMMANDS below) or marked to  not  receive  SIGHUP
       using disown -h.


je fais donc la sequence :
>logging
ncftp
ctrl+z pour la suspendre
bg (pour la passer en tache de fond)
disown (pour la "desheriter" ?!?)
>delogging
>logging
la tache n'apparait plus dans les process.

Donc voila, comment puis je faire pour arriver a faire continuer une application interactive en tache de fond sur ma demande ?

(nohup ne fonctionne pas car "nohup  - run a command immune to hangups, with output to non-tty")

A vrai dire je ne sais pas si c'est Debian Specific, mais bizarrement le shell ne semble pas se comporter comme je le veux. Donc je me disais que peut etre, dans les scripts debian, on force la mort des processus fils depedant du pere, j'en ai aucune idée ...

Merci de votre écoute

jean-tristan chanègue








Reply to: