Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

Hors ligne

#5 Le 07/03/2010, à 09:05

survietamine

Re : [résolu] Plusieurs scripts en parallèle dans plusieurs onglets

wido a écrit :

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

credenhill a écrit :

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

Hors 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

[R] a écrit :

lorsque je les lance par leur alias

c'est à dire ?

si j'enlève le droit x de mon script, j'ai ce message

Hors 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 smile

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)

Hors 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

credenhill a écrit :

gnome-terminal n'utilise pas les alias définis dans .bashrc

Ah, c'est donc pour ça, ceci explique cela !

credenhillil a écrit :

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

Hors 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 ! smile

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

Hors 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 ? smile

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

Hors 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

Hors 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