Una pipe è una connessione tra processi tra i descrittori di file di due processi. Viene creata una pipe con la funzione POSIX pipe () (da <unistd.h>). Le shell creano pipe tra i processi se il "|" viene utilizzato il simbolo: "cmd1 | cmd2" indirizza l'output di cmd1 all'input di cmd2. Su Windows usa CreatePipe (). Questo meccanismo reindirizza l'input standard, l'output standard e l'errore standard nel processo chiamante in .NET e Java.