La commande screen est extrêmement utile pour exécuter plusieurs scripts simultanément en arrière-plan. Cela vous permet de démarrer des tâches longues sans devoir maintenir un terminal ouvert pour chacune d'elles. Dans la suite, nous allons voir comment utiliser screen pour exécuter des scripts en arrière-plan et gérer ces sessions.
Exécution de scripts en arrière-plan
Vous avez trois scripts qui effectuent différentes tâches dans ~/project.
Ouvrez le terminal ( ① ou ② dans la figure ) dans l'environnement et entrez la commande suivante :
ls ~/project
Si vous souhaitez exécuter ces 3 scripts en même temps, vous pouvez procéder comme suit :
Maintenant, nous allons utiliser screen pour exécuter ces scripts simultanément dans des sessions détachées.
Pour exécuter ces scripts en arrière-plan à l'aide de screen, nous allons utiliser l'option -dmS :
-d démarre une session et la détache immédiatement.
-m force screen à créer une nouvelle session.
-S nous permet de nommer la session pour une référence facile.
Démarrage des scripts
Ouvrez un terminal et accédez au répertoire contenant vos scripts. Ensuite, démarrez chaque script dans une session screen distincte en utilisant les commandes suivantes :
Après avoir démarré les scripts, vous pouvez gérer ces sessions screen avec diverses commandes.
Lister toutes les sessions
screen -ls
Cette commande affichera toutes vos sessions screen en cours d'exécution.
Rejoindre une session
screen -r session_name
Si vous souhaitez vérifier la sortie ou interagir avec un script spécifique, utilisez cette commande pour rejoindre sa session. Remplacez session_name par le nom que vous avez attribué lors du démarrage du script (par exemple, task1, task2 ou task3).
Détacher d'une session
Une fois que vous avez terminé de vérifier une session, vous pouvez vous détacher d'elle et la laisser continuer à s'exécuter en arrière-plan en appuyant sur Ctrl-a puis sur d.
Terminer une session
Pour terminer une session, rejoignez-la en utilisant screen -r session_name puis tapez exit ou appuyez sur Ctrl-d.
L'utilisation de screen pour gérer plusieurs tâches en arrière-plan peut considérablement rationaliser votre flux de travail, en particulier lorsque vous avez à faire affaire avec des processus longs ou des processus en arrière-plan. En exécutant des scripts dans des sessions screen détachées, vous maintenez un espace de travail propre et vous assurez que vos processus continuent sans interruption, même si vous vous déconnectez du serveur ou fermez votre terminal.
Expérimentez avec screen pour découvrir comment il peut s'adapter le mieux à votre flux de travail et améliorer votre productivité!