Bash filtrer le résulat d'une commande puis la stopper
Résolu
Dr snake
-
Dr snake -
Dr snake -
Bonjour,
Je souhaite faire quelque chose de, je pense assez simple mais je suis débutant donc j'aimerais avoir vos avis.
Donc voila je souhaite lancer via xterm deux terminaux avec deux commandes actives a l'intérieur et en filtrer les résultats qui s'affichent.
Exemple:
Je lance deux commande xterm qui va me créer deux terminaux, 1 et 2 mais je veux pouvoir stopper immédiatement le xterm numéro 2 que seulement si j'ai le mot "résultat réussie !" qui s'affiche dans le xterm numéro 1.
En gros ça donnerai ça pour essayer de me faire bien comprendre:
Xterm numéro 1
A ce moment la on stop le xterm numéro 2 qui ne sert plus a rien car on a obtenue résultat réussi dans le xterm numéro 1.
J'ai entendu parler de kill + le nom du PID ou encore de screen mais il faut etre capable de lire ce qui se passe dans xterm numéro 1 donc je sais pas trop par ou m'orienter.
Merci de votre aide.
Je souhaite faire quelque chose de, je pense assez simple mais je suis débutant donc j'aimerais avoir vos avis.
Donc voila je souhaite lancer via xterm deux terminaux avec deux commandes actives a l'intérieur et en filtrer les résultats qui s'affichent.
Exemple:
Je lance deux commande xterm qui va me créer deux terminaux, 1 et 2 mais je veux pouvoir stopper immédiatement le xterm numéro 2 que seulement si j'ai le mot "résultat réussie !" qui s'affiche dans le xterm numéro 1.
En gros ça donnerai ça pour essayer de me faire bien comprendre:
Xterm numéro 1
Une commande bash qui donne le résultat suivant:
blablabla
etcetcetc
un moment plus tard
................
résultat réussie !
A ce moment la on stop le xterm numéro 2 qui ne sert plus a rien car on a obtenue résultat réussi dans le xterm numéro 1.
J'ai entendu parler de kill + le nom du PID ou encore de screen mais il faut etre capable de lire ce qui se passe dans xterm numéro 1 donc je sais pas trop par ou m'orienter.
Merci de votre aide.
A voir également:
- Bash filtrer le résulat d'une commande puis la stopper
- Invite de commande - Guide
- Commande terminal mac - Guide
- Commande dism - Guide
- Diskpart commande - Guide
- Commande scannow - Guide
7 réponses
salut,
mais quel est l'intérêt de lancer plusieurs xterm ?
les commandes lancées en "arrière-plan" ont leur PID placé, immédiatement après leur lancement, dans une variable
mais quel est l'intérêt de lancer plusieurs xterm ?
les commandes lancées en "arrière-plan" ont leur PID placé, immédiatement après leur lancement, dans une variable
?!.
Le xterm c'est pour du multi tache sans avoir trop a m'encombrer l'écran :)
D'accord mais du coup comment lire ce que renvoie xterm numéro 1 dans la console ? ("résultat réussie")
Autrement si j'ai bien compris, une fois que xterm 1 m'aura envoyé ce que je veux (résultat réussi), je récupère le pid de xterm 2 pour le stopper c'est bien sa ?
D'accord mais du coup comment lire ce que renvoie xterm numéro 1 dans la console ? ("résultat réussie")
Autrement si j'ai bien compris, une fois que xterm 1 m'aura envoyé ce que je veux (résultat réussi), je récupère le pid de xterm 2 pour le stopper c'est bien sa ?
hello
quelque chose comme ça ?
quelque chose comme ça ?
xterm -T xterm2 -e 'echo on attend; read a' & pid=$!
xterm -T xterm1 -e "sleep 12; echo resultat | grep -q resultat && kill $pid; sleep 8"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon je crois que j'ai trouvé plus simple de faire avec un fichier que de faire avec xterm, mais j'ai encore quelques soucis...
En faite voila en gros ce que je veux faire, on a un fichier résultat.txt qui reste vide et tant qu'il reste vide con continu notre commande lancée précédemment.
Dès que le fichier se rempli, on stoppe la commande lancée précédemment.J'ai testé pgrep pour ça et ça marche nickel, par contre si j'utilise:
Il détecte bien que mon fichier et vide quand c'est le cas mais si il je le rempli entre temps et que j'enregistre, la commande lancée précédemment ne se stoppe pas... Que dois-je utiliser pour vérifier intéractivement quand mon fichier contient quelque chose ? until peut-etre ?
Merci a vous.
En faite voila en gros ce que je veux faire, on a un fichier résultat.txt qui reste vide et tant qu'il reste vide con continu notre commande lancée précédemment.
Dès que le fichier se rempli, on stoppe la commande lancée précédemment.J'ai testé pgrep pour ça et ça marche nickel, par contre si j'utilise:
if test -s resultat.txt
Il détecte bien que mon fichier et vide quand c'est le cas mais si il je le rempli entre temps et que j'enregistre, la commande lancée précédemment ne se stoppe pas... Que dois-je utiliser pour vérifier intéractivement quand mon fichier contient quelque chose ? until peut-etre ?
Merci a vous.