Lancer une commande dans un screen existant

Il peut être pratique de lancer ou relancer une commande vers un screen déjà existant, notamment dans pour le planifier

rappels :

  • voir les screen en cours : screen -ls
  • ouvrir un nouveau screen avec un nom : screen -S nom.screen
  • en sortir sans le fermer : CTRL-A D
  • s’y reconnecter : screen -xS nom.screen

Pour lancer une commande dans un screen existant :

screen -S nom.screen -X stuff 'commande linux ici'`echo -ne '\015'

oui stuff est une option de screen 😉 Le echo 015 est le retour chariot

Exemple de script :

#!/bin/bash
# se place dans un certain dossier dans un screen existant, puis y exécute une commande :
screen -S nom.screen -X stuff 'ccd /opt/monappli'`echo -ne '\015'
screen -S nom.screen -X stuff '<ici une commande>'`echo -ne '\015'

Leave a comment