SCREEN : BASH : Sortir d'une session SCREEN lancée en script
pixou94
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
pixou94 Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
pixou94 Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Avec la commande SCREEN executée sous bash, je souhaiterais qu'une fois le programme terminé dans la session SCREEN, que cette même session soit fermée automatiquement.
A titre d'info, j'ai fait une fonction qui lance autant de session SCREEN avec mon PROGramme que de paramètres passée en ligne de commande. Donc, mon PROGramme qui attend un paramètre va exécuter sa tâche (opérations sur le net) et comme je préfère que ce qu'il a faire soit fait en même temps plutôt que l'un derrière l'autre... Quel serait le paramètre à lui mettre ou comment faire pour qu'il ferme la session automatiquement après que mon PROGramme est terminé sa tâche.
QUESTION BONUS : Comment récupérer le code erreur de mon programme de la session pour l'enregistrer dans un fichier (même fichier pour toutes les sessions), puis sortir.
Merci les amis, je me heurte à un véritable casse tête chinois ;)
Avec la commande SCREEN executée sous bash, je souhaiterais qu'une fois le programme terminé dans la session SCREEN, que cette même session soit fermée automatiquement.
A titre d'info, j'ai fait une fonction qui lance autant de session SCREEN avec mon PROGramme que de paramètres passée en ligne de commande. Donc, mon PROGramme qui attend un paramètre va exécuter sa tâche (opérations sur le net) et comme je préfère que ce qu'il a faire soit fait en même temps plutôt que l'un derrière l'autre... Quel serait le paramètre à lui mettre ou comment faire pour qu'il ferme la session automatiquement après que mon PROGramme est terminé sa tâche.
QUESTION BONUS : Comment récupérer le code erreur de mon programme de la session pour l'enregistrer dans un fichier (même fichier pour toutes les sessions), puis sortir.
pdi () { nbtour=0 echo "Ton prog se lance en tache de fond" echo; for i in "$@" ; do nbtour=$(($nbtour + 1)) screen -dmS tdf$nbtour # Le sleep permet de ralentir le script, sinon il a tendance à me générer des erreurs au # lancement des commandes SCREEN (bizarre non !?) sleep 0.1 # Je nomme mes sessions tdf suivi du numéro de session, puis lance mon PROGramme # avec les arguments passés en ligne de commande screen -S tdf$nbtour -X screen monprog "$i" echo tdf$nbtour lancé done }
Merci les amis, je me heurte à un véritable casse tête chinois ;)
A voir également:
- SCREEN : BASH : Sortir d'une session SCREEN lancée en script
- Screen whatsapp - Accueil - Messagerie instantanée
- Blue screen windows 10 - Guide
- Apowersoft screen recorder - Télécharger - Capture d'écran
- Double screen pc - Guide
- Screen lock - Télécharger - Sécurité
3 réponses
Salut,
Pour lancer un programme en tache de fond, pas besoin de
Et pour ta question bonus : Fin du script et état de sortie
echo "Ton prog se lance en tache de fond"
Pour lancer un programme en tache de fond, pas besoin de
screen, une simple esperluette (&) en fin de ligne fait très bien l'affaire ;-\
ton_programme &Voir 15.1. Commandes de contrôle des jobs
Et pour ta question bonus : Fin du script et état de sortie
Après une petite relecture du man screen et un passage sur gogole, tu n'étais pas loin avec ta commande
Extrait man screen
La commande à rectifier :
screen -S tdf$nbtour -X screen monprog "$i", il manque juste la commande qui doit être interprétée par
-X. ;-\
Extrait man screen
-X
Send the specified command to a running screen session. You can use the -d or -r option to tell screen to look only for attached or detached screen sessions. Note that this command doesn't work if the session is password protected.
La commande à rectifier :
screen -X -S tdf$nbtour screen monprog "$i" quit
Bonjour Cher ami zipe31 :)
J'ai pris connaissance de votre message hier et testé aussitôt et le résultat est tombé !
J'ai tenté le coup mais keutchi ! Ça n'a pas fonctionné malheureusement !
Merci d'avoir pris le temps de zieuter en tout cas :) J'apprécie :)
Le pire c'est que je sais que c'est possible, car je l'avait fait une fois (ché plus comment). Cela m'avait saoulé d'ailleurs, je ne l'utilisait pas sous bash (script) et il quittait après avoir terminé (toujours sous SCREEN) mais maintenant que je veux qu'il quitte, Monsieur tape l'incruste et refuse de partir ! Il reste ouvert prêt à enchaîner d'autres tâches !
J'ai pris connaissance de votre message hier et testé aussitôt et le résultat est tombé !
J'ai tenté le coup mais keutchi ! Ça n'a pas fonctionné malheureusement !
Merci d'avoir pris le temps de zieuter en tout cas :) J'apprécie :)
Le pire c'est que je sais que c'est possible, car je l'avait fait une fois (ché plus comment). Cela m'avait saoulé d'ailleurs, je ne l'utilisait pas sous bash (script) et il quittait après avoir terminé (toujours sous SCREEN) mais maintenant que je veux qu'il quitte, Monsieur tape l'incruste et refuse de partir ! Il reste ouvert prêt à enchaîner d'autres tâches !
Cependant, j'étais un utilisateur de nohup & et depuis que j'ai découvert SCREEN, je lâche pas l'affaire !
Je souhaite mettre en tâche de fond, pouvoir y revenir et faire tout ce que me permet SCREEN avec une facilité déconcertante, lorsqu'on l'utilise correctement.
C'est pourquoi je m'acharne à trouver la solution à mon problème, si qqn a la soluce aujourd'hui ou demain, je suis preneur.
Merci encore d'être passé par là Zipe31 ;)