Códigos de error errno de Linux
Cuando una llamada al sistema falla en Linux, devuelve -1 y asigna a errno un número pequeño con un nombre simbólico, como ENOENT (2, no existe el archivo o directorio) o EACCES (13, permiso denegado). Los programas lo muestran como «Permission denied» o con el nombre sin traducir en registros y trazas de pila.
Los números que aparecen a continuación proceden de las cabeceras errno asm-generic del kernel que se usan en x86 y ARM. Cada página muestra cómo encontrar la llamada exacta que falló con strace, perror y dmesg.
16 guías paso a paso
EPERM (errno 1)LINUXerrno 1EPERM, 'Operation not permitted' (errno 1), significa que el kernel rechazó una operación que requiere… ENOENT (errno 2)LINUXerrno 2ENOENT, 'No such file or directory' (errno 2), significa que una ruta que usa el programa no existe. EIO (errno 5)LINUXerrno 5EIO, 'Input/output error' (errno 5), significa que falló una lectura o escritura de bajo nivel en el… EAGAIN (errno 11)LINUXerrno 11EAGAIN, 'Resource temporarily unavailable' (errno 11 en Linux, mismo valor que EWOULDBLOCK), significa que… ENOMEM (errno 12)LINUXerrno 12ENOMEM, 'Cannot allocate memory' (errno 12), significa que el kernel no pudo proporcionar la memoria que… EACCES (errno 13)LINUXerrno 13EACCES, 'Permission denied' (errno 13), significa que los bits de modo del archivo, las ACL o un módulo de… EBUSY (errno 16)LINUXerrno 16EBUSY, 'Device or resource busy' (errno 16), significa que el destino está en uso y la operación no puede… EMFILE (errno 24)LINUXerrno 24EMFILE, 'Too many open files' (errno 24), significa que un proceso ha alcanzado su límite de descriptores de… ENOSPC (errno 28)LINUXerrno 28ENOSPC, 'No space left on device' (errno 28), significa que una escritura falló porque el sistema de… EROFS (errno 30)LINUXerrno 30EROFS, 'Read-only file system' (errno 30), significa que se intentó escribir en un sistema de archivos… EPIPE (errno 32)LINUXerrno 32EPIPE, 'Broken pipe' (errno 32), significa que un programa escribió en una tubería o socket cuyo extremo de… EADDRINUSE (errno 98)LINUXerrno 98EADDRINUSE, 'Address already in use' (errno 98 en Linux, 48 en macOS), significa que un programa intentó… ECONNRESET (errno 104)LINUXerrno 104ECONNRESET, 'Connection reset by peer' (errno 104 en Linux, 54 en macOS), significa que el otro extremo de… ETIMEDOUT (errno 110)LINUXerrno 110ETIMEDOUT, 'Connection timed out' (errno 110 en Linux, 60 en macOS), significa que una operación de red no… ECONNREFUSED (errno 111)LINUXerrno 111ECONNREFUSED, 'Connection refused' (errno 111 en Linux, 61 en macOS), significa que el host de destino… EHOSTUNREACH (errno 113)LINUXerrno 113EHOSTUNREACH, 'No route to host' (errno 113 en Linux, 65 en macOS), significa que el sistema no pudo…