EPIPE (errno 32)
errno 32
Mensaje oficial (tal como aparece en pantalla): Broken pipe
También se busca como: Broken pipe, errno 32, EPIPE broken pipe, write EPIPE
Qué significa
EPIPE, 'Broken pipe' (errno 32), significa que un programa escribió en una tubería o socket cuyo extremo de lectura ya está cerrado. Las canalizaciones de la shell lo ven cuando el siguiente comando termina antes (por ejemplo 'head'), y los servidores lo ven cuando un cliente se desconecta antes de que se envíe la respuesta.
Se aplica a: Linux, macOS (BSD errno), WSL, Contenedores Docker
Cómo solucionar EPIPE (errno 32)
- En canalizaciones de la shell, un broken pipe tras 'head' o 'grep -q' es esperable y normalmente inofensivo
- Para desconexiones SSH con 'Broken pipe', añade 'ServerAliveInterval 60' a ~/.ssh/config para mantener vivas las sesiones inactivas
- En servidores, trata EPIPE como una desconexión normal del cliente: deja de escribir y cierra la conexión
- En Python, captura BrokenPipeError; en Node.js, gestiona los eventos 'error' de los streams para evitar cierres inesperados
- Si EPIPE ocurre en una conexión con una base de datos o un servicio ascendente, revisa los tiempos de inactividad de ese lado y activa keep-alive o lógica de reconexión
- Si los programas mueren sin avisar, recuerda que SIGPIPE termina los procesos por defecto; ignóralo ('signal(SIGPIPE, SIG_IGN)') y comprueba los errores de escritura en su lugar
Por qué ocurre
Escribir en una tubería o en un socket de flujo sin lector genera SIGPIPE y EPIPE. Las causas habituales son lectores que terminan antes, clientes que se desconectan, tiempos de espera en el lado remoto y dispositivos de red intermedios que cierran conexiones inactivas.
Preguntas frecuentes
¿Por qué SSH dice 'Broken pipe'?
La conexión estuvo inactiva o la red se cayó, y el servidor o un router la cerró. Los ajustes de keep-alive en la configuración de SSH evitan la mayoría de los casos.
Errores relacionados
Fuente: Linux kernel errno.h · soluciones redactadas y revisadas por los editores (consulta nuestra política editorial)
Última actualización: