suite de tubes ou pipes - Shell/Batch - Programmation
Marsh Posté le 04-11-2003 à 16:34:49
bah nan tu as un phénomène de priorité comme avec n'importe quel opérateur... quand tu fais 2*4*6*8 tu ne fait pas le calcul simultanément... avec les pipes c'est pareil
Marsh Posté le 05-11-2003 à 11:23:02
le pipe | se sert la commande en amont comme son entrée standart.
autrement dit dans : ls | grep toto | more
le shell va executrer le ls auquel il va faire un grep toto et sur le resultat du grep va faire son more.
Marsh Posté le 06-11-2003 à 11:08:19
je dois programmer ca en c...
le pipe fait des lancements concurrents
je peux pas attendre que l execution d une commande soit finie pour en executer une autre, c bien ca?
Marsh Posté le 06-11-2003 à 11:15:54
synchro synchronization
"le pipe fait des lancements concurrents" tu entends quoi par là?
Tu fais un fork() à chaque fois et tu ouvres un pipe entre ton processus père et le fils. Il y a des moyens de se synchroniser justement que tu fais de la programmation concurrente.
Je me rappelle quand j'étais petit on avait codé un shell (TP); on s'était marrés à faire des tableaux de pipes etc.
Marsh Posté le 06-11-2003 à 21:56:18
Un petit exemple d'utilisation des pipes en C sous linux si ça peux t'aider à comprendre le principe
Code :
|
A+
Marsh Posté le 04-11-2003 à 15:31:06
je dois realiser un mini shell qui gere plusieurs pipes
mais je sais pas comment ca marche
y a-t-il une mecanisme de synchro ou tous les pipes "agissent-ils" en meme temps?