Linux screen · 3 min read · Sep 15, 2025

Commande Linux screen : Garder les processus en cours malgré une connexion interrompue

Je suppose que vous savez tous cela : vous êtes connecté à votre serveur avec SSH et au milieu de la compilation d’un logiciel (par exemple, un nouveau noyau) ou en train de faire une autre tâche qui prend beaucoup de temps, et soudainement votre connexion se coupe pour une raison quelconque, et vous perdez votre travail inachevé. Cela peut être très ennuyeux, mais heureusement, il existe un petit utilitaire appelé screen qui vous permet de vous rattacher à une session précédente afin que vous puissiez terminer votre tâche. Ce court tutoriel montre comment utiliser screen à cette fin.

1 Installer la commande screen

L’installation de screen est très facile. Sur Debian, exécutez :

apt-get install screen

Pour Ubuntu, utilisez la commande avec sudo :

sudo apt-get install screen

Et pour Fedora, CentOS, SuSE et Mandriva, il existe également des paquets screen que vous pouvez installer avec yum / yast / urpmi /…

Fedora et CentOS

yum install screen

2 Utiliser la commande screen

Avec screen, vous pouvez créer une ou plusieurs sessions dans votre terminal SSH actuel. Il suffit d’exécuter

screen

pour le démarrer. Cela crée une session ou une fenêtre screen (bien que vous ne la voyiez pas comme telle) dans votre terminal SSH actuel :

Commande Linux screen démarrée

Appuyez sur Espace ou Retour pour accéder à l’invite de commande :

Invite de commande Linux screen

On dirait votre terminal SSH normal, n’est-ce pas ?

Maintenant, je vais décrire les commandes screen les plus importantes dont vous avez besoin pour contrôler screen. Ces commandes commencent par CTRL a pour les distinguer des commandes shell normales.

  • Ctrl a c - Crée une nouvelle session screen afin que vous puissiez utiliser plus d’une session screen à la fois.
  • Ctrl a n - Passe à la n ouvelle session screen (si vous en utilisez plus d’une).
  • Ctrl a p - Passe à la p récedente session screen (si vous en utilisez plus d’une).
  • Ctrl a d - Détache une session screen (sans tuer les processus à l’intérieur - ils continuent).

Pour fermer une session screen où toutes les tâches sont terminées, vous pouvez taper

exit

Maintenant, jouons un peu avec. Dans notre fenêtre screen, nous exécutons la commande

top

Cela devrait ressembler à ceci :

Commande Top en cours d'exécution dans screen

Maintenant, créons une autre session screen en tapant

Ctrl a c

Une nouvelle session screen vide s’ouvre, et là nous exécutons

tail -f /var/log/mail.log

pour avoir un aperçu continu de notre journal de courrier :

mail.log affiché dans la commande screen

Maintenant, vous pouvez parcourir vos deux sessions screen en exécutant

Ctrl a n

ou

Ctrl a p

Pour détacher une session screen et revenir à votre terminal SSH normal, tapez

Ctrl a d

De retour sur votre terminal SSH normal, vous pouvez exécuter

screen -ls

pour obtenir une liste de vos sessions screen actuelles :

There are screens on:  
        2477.pts-0.server1      (Detached)  
        2522.pts-0.server1      (Detached)  
2 Sockets in /var/run/screen/S-root.

Pour vous reconnecter à l’une de ces sessions, exécutez

screen -r 2477.pts-0.server1

où 2477.pts-0.server1 est le nom de l’une des sessions de la sortie screen -ls.

Pour quitter et terminer une session screen, terminez toutes les tâches en cours à l’intérieur (top peut être terminé en tapant q, tail -f /var/log/mail.log peut être terminé en tapant CTRL c) et ensuite tapez

exit

Vous reviendrez alors à une autre session screen (si vous en utilisez plus d’une) ou au terminal SSH normal, si aucune autre session screen n’est ouverte.

Si vous souhaitez en savoir plus sur screen, exécutez

man screen

3 Ma connexion a été interrompue - Que puis-je faire ?

Maintenant, supposons que vous compilez un noyau dans une session screen, ce qui prend normalement beaucoup de temps, et soudainement votre connexion se coupe. Grâce à screen, votre travail n’est pas perdu. Une fois votre connexion rétablie, connectez-vous à nouveau à votre système avec SSH et exécutez

screen -ls

comme indiqué dans le chapitre 2. Dans les résultats, choisissez une session (par exemple, 2477.pts-0.server1) et rattachez-vous à celle-ci :

screen -r 2477.pts-0.server1

Si vous avez choisi la bonne session, vous devriez trouver votre noyau toujours en cours de compilation (s’il n’a pas terminé entre-temps) afin que vous puissiez continuer votre travail.

4 Liens

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.