OVH Cloud OVH Cloud

Conserver une session shell active.

4 réponses
Avatar
cibox
Bonjour,

Je souhaite ouvrir via SSH un shell qui exécute un long script sur un serveur
distant. Quand je coupe la session je perds l'exécution du script.

Est-il possible de laisser se poursuivre le script alors que la session SSH est
fermée ?

Merci.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

4 réponses

Avatar
Julien Valroff
Le samedi 07 octobre 2006 à 08:36 +0000, cibox a écrit :
Bonjour,


Salut,

Je souhaite ouvrir via SSH un shell qui exécute un long script sur un
serveur
distant. Quand je coupe la session je perds l'exécution du script.

Est-il possible de laisser se poursuivre le script alors que la
session SSH est
fermée ?



screen est, entre autres choses, fait pour ça:
sudo aptitude install screen
man screen

@++
Julien


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Vincent Lefevre
On 2006-10-07 08:36:52 +0000, cibox wrote:
Est-il possible de laisser se poursuivre le script alors que la
session SSH est fermée ?



Suivant ta config, tu peux avoir besoin d'utiliser nohup. Et il faut
détacher tous les descripteurs de fichiers du terminal (pour ceux qui
le sont), sinon ssh ne quittera pas; nohup le fait automatiquement
pour les descripteurs standard. Mais tu peux le faire toi-même avec
des redirections (ne pas oublier stdin, si besoin est).

Alternativement, tu peux utiliser screen, si tu as envie de garder
un shell pour contrôler.

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
fra-duf-no-spam
Le 13428ième jour après Epoch,
écrivait:

Bonjour,

Je souhaite ouvrir via SSH un shell qui exécute un long script sur u n serveur
distant. Quand je coupe la session je perds l'exécution du script.

Est-il possible de laisser se poursuivre le script alors que la session SSH est
fermée ?



En plus des réponses précédentes, tu peux taper ~& dans la s ession
ssh. Ça va placer ton client ssh en tâche de fond. Attention tout de
même, ça conserve la liaison donc si tu la tue (shutdown, arrà ªt
réseau, etc...) je pense que ça va pas bien le faire.
Avatar
Vincent Lefevre
On 2006-10-07 12:13:49 +0200, François TOURDE wrote:
En plus des réponses précédentes, tu peux taper ~& dans la session
ssh. Ça va placer ton client ssh en tâche de fond. Attention tout de
même, ça conserve la liaison donc si tu la tue (shutdown, arrêt
réseau, etc...) je pense que ça va pas bien le faire.



Tuer le client ne pose aucun problème: je l'ai fait à maintes reprises,
pour éviter d'avoir des ssh qui traînaient. C'était une solution pas
très propre, mais je ne comprenais pas pourquoi ces ssh ne quittaient
pas.

Pour info, j'ai fini par trouver la raison de ce problème: un bug dans
le "exec" du tcsh[*], qui dupliquait les descripteurs standard, mais
oubliait de les fermer. J'ai alors écrit un wrapper à "exec" pour les
fermer.

[*] C'était le shell par défaut à mon ancien labo. La première chose
que je faisais était donc un "exec zsh" pour avoir un vrai shell.

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact