Lessico IT › Programmazione › Pipe

Pipe

Programmazione Svenska → Aggiornato: 2026-10-02

Un flusso di byte unidirezionale tra due processi: ciò che rende possibile il simbolo | nella shell.

Il kernel predispone un buffer e assegna a un processo un file descriptor in scrittura e all'altro uno in lettura. Chi scrive si blocca quando il buffer è pieno, chi legge quando è vuoto: il controllo di flusso arriva gratis. Su Linux il buffer è tipicamente di 64 kB.

È il meccanismo su cui poggia la filosofia Unix: piccoli programmi che fanno una cosa sola, collegati da flussi di testo. Una named pipe, creata con mkfifo, vive nel filesystem e permette di collegare processi estranei tra loro. Un fenomeno ricorrente è SIGPIPE: scrivere su una pipe il cui lettore è terminato uccide il processo per impostazione predefinita, ed è per questo che head zittisce i comandi che producono troppo output.

← Torna al lessico