Concept

Tube (shell)

Résumé
Les shell des systèmes d'exploitation de type Unix disposent d'un mécanisme appelé tube, pipeline ou pipe (). Ce mécanisme permet de chaîner des processus de sorte que la sortie d'un processus (stdout) alimente directement l'entrée (stdin) du suivant. Chaque connexion est implantée par un tube anonyme. Les programmes filtres sont souvent utilisés dans cette configuration. Douglas McIlroy a inventé ce concept pour les shells Unix et le nom anglais découle de l'analogie avec un pipeline physique. Le symbole utilisé pour créer des tubes dans les shells Unix est la barre verticale |, appelée communément tube ou pipe par extension. Par exemple : programme1 | programme2 Le programme programme1 est exécuté par le système qui envoie les résultats au programme2 qui à son tour renvoie les résultats sur la sortie standard du système. Le pipe est très utilisé sur Unix, par exemple pour associer plusieurs commandes dont on enchaîne les traitements. Par exemple, la commande : cut -d" " -f1 < access.log | sort | uniq -c | sort -rn | less Permet d'extraire et d'afficher les adresses IP des clients ayant accédé le plus fréquemment à un serveur web Apache. Dans les systèmes d'exploitation monotâches comme le MS-DOS, les processus chainés doivent être exécutés séquentiellement, c'est-à-dire l'un après l'autre. La sortie de chaque processus est alors enregistrée dans un fichier temporaire, qui est ensuite lu par le processus suivant. Dès lors d'une part la taille requise sur disque pour effectuer ces commandes peut être très importante et donc l'exécution très lente, d'autre part l'acquisition permanente est impossible puisqu'elle ne rendra jamais « la main » et enfin ces commandes ne peuvent pas permettre de traiter des acquisitions de données en temps réel puisque tout doit être écrit sur les disques avant que le second traitement soit effectué. La syntaxe en revanche est identique à celles des tubes des shell UNIX. Dès lors on parle de pseudo-tubes.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.