Remove ads
mise en œuvre des tubes Unix De Wikipédia, l'encyclopédie libre
En informatique, le terme tube nommé (calqué sur l'anglais named pipe) est une mise en œuvre des tubes Unix. Comme les tubes anonymes, les tubes nommés sont des zones de données organisées en FIFO mais contrairement à ceux-ci qui sont détruits lorsque le processus qui les a créés disparait, les tubes nommés sont liés au système d'exploitation et ils doivent être explicitement détruits. Ce type de mécanisme se retrouve bien sûr dans tous les systèmes d'exploitation de type Unix mais aussi dans les systèmes d'exploitation de Microsoft cependant leur sémantique est sensiblement différente.
Il s'agit de l'une des techniques permettant la communication inter-processus. Un tube peut aussi être appelé Conduite, notamment dans la page man Unix.
En pratique, cela sert à rediriger la sortie d'un processus vers l'entrée d'un autre.
Par exemple, on peut créer un tube et compresser par gzip les données qui lui sont envoyées :
mkfifo my_pipe gzip -9 -c < my_pipe > out.gz
Dans un shell, indépendamment, on peut envoyer des données à compresser:
cat file > my_pipe
Le tube nommé peut ensuite être effacé comme un simple fichier :
rm my_pipe
En langage C, on va créer un tel objet avec l'appel système mknod() et la constante S_IFIFO, ou simplement avec l'autre appel système mkfifo() :
mknod("nom_du_tube", S_IFIFO, 0); mkfifo("nom_du_tube");
Microsoft France les appelle « canaux nommés ». Ces canaux pointent dans un dossier partagé sur le réseau (PRINT$), un fichier local (précédé du caractère "|") ou une ressource réseau logicielle (IPC$ ; SQL Server).
Le standard CIM Schema modélise les tubes nommées avec la class CIM_FIFOPipeFile, type spécial de fichier destiné aux communications inter-processes indépendants, au contraire des tubes anonymes destinés par exemple aux redirections[1].
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.