EPIPE (errno 32)
errno 32
Message officiel (tel qu'affiché à l'écran) : Broken pipe
Aussi recherché sous la forme : Broken pipe, errno 32, EPIPE broken pipe, write EPIPE
Ce que cela signifie
EPIPE, « Broken pipe » (errno 32), signifie qu’un programme a écrit dans un tube ou un socket dont l’extrémité de lecture est déjà fermée. Les pipelines du shell la rencontrent quand la commande suivante se termine tôt (par exemple 'head'), et les serveurs, quand un client se déconnecte avant l’envoi de la réponse.
S'applique à : Linux, macOS (errno BSD), WSL, Conteneurs Docker
Comment corriger EPIPE (errno 32)
- Dans les pipelines du shell, un tube rompu après 'head' ou 'grep -q' est normal et généralement sans conséquence
- Pour les déconnexions SSH « Broken pipe », ajoutez 'ServerAliveInterval 60' dans ~/.ssh/config afin de maintenir les sessions inactives
- Dans les serveurs, traitez EPIPE comme une déconnexion normale du client : cessez d’écrire et fermez la connexion
- En Python, interceptez BrokenPipeError ; en Node.js, gérez les événements 'error' des flux pour éviter les plantages
- Si EPIPE survient sur une connexion à une base de données ou à un serveur en amont, vérifiez les délais d’inactivité de ce côté et activez le keep-alive ou une logique de reconnexion
- Si des programmes s’arrêtent sans bruit, rappelez-vous que SIGPIPE termine les processus par défaut ; ignorez-le ('signal(SIGPIPE, SIG_IGN)') et vérifiez plutôt les erreurs d’écriture
Pourquoi cela se produit
Écrire dans un tube ou un socket de flux sans lecteur génère SIGPIPE et EPIPE. Lecteurs qui se terminent tôt, clients qui se déconnectent, délais d’attente côté distant et équipements réseau intermédiaires qui ferment les connexions inactives en sont les causes habituelles.
FAQ
Pourquoi SSH affiche-t-il « Broken pipe » ?
La connexion était inactive ou le réseau a coupé, et le serveur ou un routeur l’a fermée. Les paramètres keep-alive de la configuration SSH évitent la plupart des cas.
Erreurs liées
Source : Linux kernel errno.h · solutions rédigées et vérifiées par les éditeurs (voir notre politique éditoriale)
Dernière mise à jour :