Bonjour,
Quand j’utilise ssh, ma hantise c’est de perdre la connexion. En effet, les processus sont attachés à la session ssh, donc toutes les tâches en cours sont stoppées par le système dès que la console ne répond plus.
Une solution simple est screen. C’est une application qui abstrait la console. On peut donc se détacher et se rattacher sans que les tâches ne soient perturbées.
On peut se rattacher à une console screen depuis n’importe où. Pas besoin d’être sur le même ordinateur que celui qui a créé l’instance.
Voici un petit exemple d’utilisation de screen.
Créer une instance :
screen -S moninstance
moninstance est un identifiant comme le prenom, on peut créer une instance sans préciser l’identifiant mais on obtiendra un identifiant numérique difficile à retenir et qui peut prêter à confusion si on est plusieurs à utiliser screen.
Se détacher quand on est dedans :
<ctrl> a d
on peut aussi fermer la fenêtre du terminal pour se détacher 🙂
Lister les instances :
screen -ls
Détacher une instance attachée à un terminal :
Il est préférable de détacher une instance qu’on sait attachée à un terminal fantôme, sinon on expulsera l’utilisateur en cours.
screen -d moninstance
Se rattacher à une instance qui n’est attachée à personne :
screen -r moninstance
On peut combiner les flags :
screen -dr moninstance
La commande ci dessus, détache moninstance et la rattache a mon terminal.
Voilà les bases de l’utilisation de screen. J’ai parlé de ssh mais on peut utiliser screen sur un terminal local. Ca évite de garder une fenêtre ouverte sur le bureau. On peut lancer une tâche en local puis vérifier qu’elle tourne toujours via ssh.