Configurando un sistema comencé a recibir errores como el siguiente:
syslog-ng[1091]: Error suspend timeout has elapsed, attempting to write again; fd='11'
El problema era que el proceso de syslog no era capaz de escribir sobre el fichero que había abierto con el file descriptor 11
pero no tenía referencias acerca de cuál era ese fichero como para comprobar por qué se producía el error.
La solución pasó por acceder al file descriptor a través del file system /proc
y utilizar el comando readlink
para obtener su nombre canónico.
En este caso, dado que el proceso de syslog tenía un pid=1091
(como puede observarse en la línea de log anterior), el comando a ejecutar es:
# readlink /proc/1091/fd/11 /dev/tty10
Así pude comprobar que el sistema estaba intentando escribir sobre el terminal virtual /dev/tty10
que, en los sistemas basados en Debian
, corresponden a la consola de errores del sistema. Y, como mi sistema no contaba con este terminal virtual, la solución pasó por revisar la configuración del proceso syslog‑ng
eliminando las referencias a este dispositivo.