Si vous avez l’habitude de vous connecter à des serveurs en SSH, vous savez ce que c’est de devoir rester connecté pour qu’une commande ou un processus ne s’arrête pas. Il existe une solution bien pratique pour pouvoir lancer une commande, et soit la reprendre plus tard, ou la laisser tourner en parallèle avec la commande screen
Préparation du système
Tout d’abord, installer le package screen via le gestionnaire de paquet.
sudo apt install screen
Lancer une commande dans un screen détachée
Le principe de l’opération est de créer un écran virtuel où la commande sera exécutée. Cela signifie que son exécution ne sera pas dépendante de la connexion SSH établie depuis laquelle la commande sera lancée.
Pour ce faire, lancer la commande:
screen -dmS SCREENAME COMMANDE
Pas besoin de la mettre entre guillemets
Une fois la commande exécutée, elle se lance immédiatement dans un screen détaché, et est déjà en train de tourner. Pour se connecter à un screen détaché, cela se fait en 2 étapes:
Tout d’abord, afficher la liste des screens actuellement en train de tourner
screen -ls
Cette commande affiche ainsi une liste comme ci-dessous par exemple:
There are screens on:
435253.check_integrity (12/04/2025 04:15:20 PM) (Detached)
380843.delete_doublon (12/04/2025 04:08:43 PM) (Detached)
2 Sockets in /run/screen/S-localadmin.
Les numéros qui sont avant le point est le PID du processus, et après le point est le nom du screen donné précédemment.
Dans notre exemple, nous souhaitons se connecter au premier screen qui s’appelle check_integrity. la commande à taper est donc:
screen -r 435253.check_integrity
Une fois que nous avons fini avec le screen, et que nous devons de nouveau s’en détacher, il suffit de saisir le raccourcis clavier CTRL + A, et ensuite D
Et voila, notre screen est de nouveau détaché, et fonctionne en arrière plan. Il est maintenant possible de se déconnecter du serveur sans interrompre l’exécution des screen.
