Bash filtrer le résulat d'une commande puis la stopper
Résolu/Fermé
A voir également:
- Bash filtrer le résulat d'une commande puis la stopper
- Invite de commande - Guide
- Commande terminal mac - Guide
- 'Pip' n’est pas reconnu en tant que commande interne ✓ - Forum Python
- Bash: adduser : commande introuvable ✓ - Forum Debian
- Commande dism - Guide
7 réponses
Utilisateur anonyme
20 oct. 2016 à 17:45
20 oct. 2016 à 17:45
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 ?
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
21 oct. 2016 à 11:31
21 oct. 2016 à 11:31
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"
Oui c'est quelque chose comme ça :) je teste sa dès que je peux et je fais un retour.
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
21 oct. 2016 à 13:29
21 oct. 2016 à 13:29
essayer
xterm -T xterm2 -e 'echo on attend; read a' & pid=$! ; xterm -T xterm1 -e "(sleep 12; echo resultat | grep -q resultat && kill $pid)& $SHELL" &
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.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
31 oct. 2016 à 19:50
31 oct. 2016 à 19:50
Salut,
whileplutôt ;-)
Donc je dois faire un truc du genre:
Je suppose ?
Mais dans ce cas la commande ne va pas s'arréter meme si le fichier résultat.txt se rempli non ?
(je suis pas sur mon ordi de travail je peux pas vraiment tester)
while
test -s résutat.txt
do <macommande> done
Je suppose ?
Mais dans ce cas la commande ne va pas s'arréter meme si le fichier résultat.txt se rempli non ?
(je suis pas sur mon ordi de travail je peux pas vraiment tester)
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
31 oct. 2016 à 23:38
31 oct. 2016 à 23:38
En fait c'est soit :
while test ! -s résultat.txt; do …ou
until test -s résultat.txt; do …;-)