Pipe

Consulte también tubería con nombre (o FIFO).

En la programación de computadoras, especialmente en los sistemas operativos UNIX, una tubería es una técnica para pasar información de un proceso de programa a otro. A diferencia de otras formas de comunicación entre procesos (IPC), una tubería es solo una comunicación unidireccional. Básicamente, una tubería pasa un parámetro como la salida de un proceso a otro proceso que lo acepta como entrada. El sistema retiene temporalmente la información canalizada hasta que el proceso de recepción la lee.

Usando un shell de UNIX (la interfaz de comando interactiva de UNIX), se especifica una tubería en una línea de comando como una barra vertical simple (|) entre dos secuencias de comando. La salida o el resultado de la primera secuencia de comandos se utiliza como entrada para la segunda secuencia de comandos. La tubo La llamada al sistema se usa de manera similar dentro de un programa.

Para la comunicación bidireccional entre procesos, se pueden configurar dos conductos, uno para cada dirección. Una limitación de las canalizaciones para la comunicación entre procesos es que los procesos que utilizan canalizaciones deben tener un proceso principal común (es decir, compartir un proceso de iniciación o apertura común y existir como resultado de un proceso de inicio). tenedor llamada al sistema desde un proceso padre).

Una tubería tiene un tamaño fijo y suele tener al menos 4,096 bytes.