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

Re: SSH : Impossible de quitter la session



Thierry Leurent a écrit :
[...]
Je n'y comprends plus rien. Comment une appli peut-elle empécher la fin
d'un script et/ou d'une session ?
Quelqu'un a-t-il une idée ?

Salut Thierry,

L'appli n'empêche pas la fin du script. Ton script se termine bien. En revanche, lorsque ton application passe en mode démon, elle effectue un fork (appel système) pour cloner le processus. Le processus père, celui que tu as lancé, se termine et te rend la main alors que le processus fils reste en mémoire pour effectuer son boulot. Le problème vient certainement de la procédure de démonisation qui ne referme pas les descripteurs de fichier par défaut (stdin, stdout, stderr). Tant que ces descripteurs de fichier ne sont pas refermés (ou redirigés vers d'autres sources/destinations comme un fichier ou /dev/null), le processus SSH ne pourra pas terminer sa connexion. Il me semble que SSH dispose d'options pour résoudre ce problème mais je ne m'en souviens plus (cf man). Sinon, tu peux essayer d'ajouter des
> /dev/null 2>&1
à la fin de la commande qui exécute ton appli, ou encore, tu peux lancer la commande dans un "screen" qui capturera ces descripteurs de fichier et les libèrera lorsque tu le détacheras avant de refermer ta session SSH.

A+
Fanfan


Reply to: