title: Tube nommé
text: # Tube nommé
  
  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.
  
  ## Sous Unix
  
  Par exemple, on peut créer un tube et compresser par gzip les données qui lui sont envoyées :
  
  Dans un shell, indépendamment, on peut envoyer des données à compresser:
  
  Le tube nommé peut ensuite être effacé comme un simple fichier :
  
  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 :
  
  ## Sous Windows
  
  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).
  
  ## Modélisation Common Information Model
  
  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.
  
  