#1 Le 06/03/2010, à 14:11
- [R]
[résolu] Plusieurs scripts en parallèle dans plusieurs onglets
Bonjour,
Je souhaite pouvoir lancer plusieurs (12) scripts perl (dont j'ai créé des alias dans .bashrc pour plus de commodité) en parallèle (donc sans attendre la fin d'exécution du premier), idéalement chacun dans un onglet d'une même fenêtre (gnome-terminal gèrant les onglets), à défaut dans une fenêtre différente pour chacun, afin de pouvoir lire à la fin le résultat de la commande.
Comment faire ? :-)
D'avance merci pour votre aide !
Dernière modification par [R] (Le 07/03/2010, à 16:00)
Hors ligne
#2 Le 07/03/2010, à 00:44
- wido
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
Bonjour,
gnome-terminal -e tonscript1 && gnome-terminal -e tonscript2
Dernière modification par wido (Le 07/03/2010, à 00:45)
Hors ligne
#3 Le 07/03/2010, à 01:49
- [R]
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
Bonjour,
Ça me retourne une erreur :
Il y a eu une erreur lors de la création du processus fils pour ce terminal
Hors ligne
#4 Le 07/03/2010, à 08:52
- credenhill
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
hello
gnome-terminal --tab -e script1 --tab -e script2 --tab -e script3
En ligne
#5 Le 07/03/2010, à 09:05
- survietamine
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
Bonjour,
gnome-terminal -e tonscript1 && gnome-terminal -e tonscript2
salut, pour lancer en parallèle, ce n'est pas plutôt un seul & ?
Ðɸ Ƴơц ℕεєđ Şø₥€ √іêŤąɱίɳƸʂ ?
Hors ligne
#6 Le 07/03/2010, à 13:59
- [R]
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
hello
gnome-terminal --tab -e script1 --tab -e script2 --tab -e script3
Bonjour,
Même résultat : "Il y a eu une erreur lors de la création du processus fils pour ce terminal".
Hors ligne
#7 Le 07/03/2010, à 14:47
- credenhill
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
vérifie que tes scripts ont le droit d'exécution : chmod a+x scripts
En ligne
#8 Le 07/03/2010, à 14:52
- [R]
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
Bonjour,
C'est bien le cas : lorsque je les lance par leur alias, ils se lancent sans problème. J'aimerais seulement ne pas avoir manuellement à ouvrir 12 onglets pour lancer chacun d'entre eux.
Hors ligne
#9 Le 07/03/2010, à 14:58
- credenhill
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
lorsque je les lance par leur alias
c'est à dire ?
si j'enlève le droit x de mon script, j'ai ce message
En ligne
#10 Le 07/03/2010, à 15:11
- [R]
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
Je détaille :
- j'ai 12 scripts à lancer en parallèle
- il s'agit d'un même script écrit en perl (lancé dans un terminal : perl -I nomdemonscriptenperl ...), lancé avec des paramètres différents (12 situations différentes, donc 12 lignes de commande différentes)
- pour les lancer avec plus de commodité, j'ai créé un alias de chacune des 12 lignes de commande dans .bashrc
- quand je les lance depuis un terminal, soit en tapant le ligne de commande en entier (perl -I nomdemonscriptenperl variables etc), soit en tapant leur alias, elles s'exécutent sans problème
- mon but est d'éviter d'avoir à ouvrir 12 onglets et rentrer chaque commande une à une, je cherche à pouvoir lancer le tout en une seule commande (que je mettrai en alias également), dans des onglets séparés pour suivre leur bon déroulement.
N'hésite pas à demander une précision si ce n'était pas clair
Dernière modification par [R] (Le 07/03/2010, à 15:16)
Hors ligne
#11 Le 07/03/2010, à 15:22
- credenhill
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
gnome-terminal n'utilise pas les alias définis dans .bashrc
il faut donc, si les scripts sont dans le PATH
gnome-terminal --tab -e script
si ils ne le sont pas
gnome-terminal --tab -e /chemin/script
si il y a des paramètres
gnome-terminal --tab -e "/chemin/script param1"
Dernière modification par credenhill (Le 07/03/2010, à 15:25)
En ligne
#12 Le 07/03/2010, à 15:33
- survietamine
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
peut-être qu'en "sourçant" ton fichier qui contient les aliases ça fonctionnera.
J'dis ça au cas où un script en appelle un autre par son alias.
Ðɸ Ƴơц ℕεєđ Şø₥€ √іêŤąɱίɳƸʂ ?
Hors ligne
#13 Le 07/03/2010, à 15:41
- [R]
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
gnome-terminal n'utilise pas les alias définis dans .bashrc
Ah, c'est donc pour ça, ceci explique cela !
faut donc, si les scripts sont dans le PATH
gnome-terminal --tab -e script
si ils ne le sont pas
gnome-terminal --tab -e /chemin/script
Le script en question est dans mon /home, j'en déduis qu'il n'est pas dans le PATH.
Par rapport à ma problématique de lancement en une commande (courte) de l'ensemble des scripts, comment t'y prendrais-tu ?
Hors ligne
#14 Le 07/03/2010, à 15:49
- credenhill
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
gnome-terminal --tab -e $HOME/script
En ligne
#15 Le 07/03/2010, à 15:58
- [R]
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
Alors tant pis, j'ai tout repris à la main (gnome-terminal --tab -e "/chemin/script param1" --tab -e "/chemin/script param2", etc) sans recourir aux alias créés.
Résultat, ça me fait une petite ligne de commande de 4179 caractères (!)... que j'ai heureusement pu mettre en alias dans .bashrc pour la lancer en une commande courte.
La fenêtre gnome-terminal s'ouvre alors comme souhaité avec les 12 scripts lancés chacun dans un onglet différent. Le but est donc atteint, je passe le sujet en résolu. Merci pour le coup de main !
Dernière modification par [R] (Le 07/03/2010, à 16:04)
Hors ligne
#16 Le 07/03/2010, à 16:14
- credenhill
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
le .bashrc étant lu à chaque démarrage de bash, tu as peut-être intérêt à faire un script séparé
tu le mets dans le répertoire ~/bin et tu ajoutes ~/bin au PATH dans .bashrc
En ligne
#17 Le 07/03/2010, à 16:28
- [R]
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
Hum, là je vais avoir besoin de ton aide pour y parvenir :
- comment ajouter ~/bin au PATH dans .bashrc ?
- pour le reste, j'imagine que je crée un fichier txt dans lequel je copie/colle ma commande de 4179 caractères, je sauvegarde sous le nom de mon choix et que je rends exécutable (chmod a+x nomdemonscript) et que je déplace dans ~/bin : c'est bien ça ?
Hors ligne
#18 Le 07/03/2010, à 17:26
- xamaco
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
Le bin de ton home sera automatiquement ajouté à ton PATH à ton prochain login...
Hors ligne
#19 Le 07/03/2010, à 17:35
- survietamine
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
ou bien, il re-"source" son .bashrc maintenant.
Ðɸ Ƴơц ℕεєđ Şø₥€ √іêŤąɱίɳƸʂ ?
Hors ligne
#20 Le 07/03/2010, à 17:43
- [R]
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
Bonjour survietamine,
Peux-tu m'expliquer ce ressourcement ?
Hors ligne
#21 Le 07/03/2010, à 17:55
- survietamine
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
Tu n'es pas obligé de te déconnecter/reconnecter pour récupérer un environnement.
La commande intégrée source permet ça.
D'ailleurs, il n'est pas toujours utile de récupérer tout ton environnement de ton .bashrc ou autre pour l'exécution d'un script, même au niveau sécu c'est pas le top.
Tu n'as qu'à mettre tes aliases, tes fonctions et autres dans des fichiers et les "sourcer" pour que ton script principal fonctionne.
Tu n'auras pas de mal à trouver de la lecture sur le web à ce sujet, par ex. :
http://www.linux-pour-lesnuls.com/bash.php#invocation
http://learnlinux.tsf.org.za/courses/bu … 10s02.html
Ðɸ Ƴơц ℕεєđ Şø₥€ √іêŤąɱίɳƸʂ ?
Hors ligne
#22 Le 08/03/2010, à 09:12
- credenhill
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
tu créés un répertoire bin
mkdir ~/bin
tu mets ton script dans un fichier (appellons le script) dans bin qui commence par
#!/bin/bash
tu lui donnes les droits d'exécution
chmod a+x script
à la fin de ~/.bashrc tu ajoutes
export PATH=$PATH:~/bin
tu exécutes
source ~/.bashrc
pour que le nouveau PATH soit valide dans ce terminal, pour vérifier
echo $PATH
pour les nouvelles fenêtres et au prochain login, tout sera ok
En ligne
#23 Le 13/03/2010, à 15:54
- [R]
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
Bonjour,
Merci pour le mode d'emploi credenhill, j'ai pu y parvenir ainsi !
Reste un problème que j'ai pu identifier par rapport à mon cahier des charges :
"Je souhaite pouvoir lancer plusieurs scripts (...) afin de pouvoir lire à la fin le résultat de la commande."
Or en l'état, les onglets s'ouvrent bien, la tâche s'y exécute, mais une fois qu'elle est achevée, l'onglet se referme, de sorte que je ne peux en lire le bon déroulement.
Donc comment faire pour qu'ils restent ouverts une fois la tâche achevée ?
Hors ligne
#24 Le 13/03/2010, à 16:05
- credenhill
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
ajouter à la fin du script
$SHELL
En ligne
#25 Le 13/03/2010, à 16:43
- [R]
Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets
J'ai essayé de rajouter $SHELL tout à la fin du script global, mais ça ne fonctionne pas... où faut-il le placer exactement ?
Hors ligne