EAGAIN (errno 11)
errno 11
Messaggio ufficiale (come appare sullo schermo): Try again
Cercato anche come: Resource temporarily unavailable, errno 11, EWOULDBLOCK
Che cosa significa
EAGAIN, «Resource temporarily unavailable» (errno 11 su Linux, stesso valore di EWOULDBLOCK), significa che l'operazione non può essere completata subito ma potrebbe riuscire più tardi. I socket non bloccanti lo restituiscono quando non ci sono dati pronti; fork() e la creazione di thread lo restituiscono quando si raggiungono i limiti di processi o thread.
Si applica a: Linux, macOS (errno BSD), WSL, Container Docker
Come risolvere EAGAIN (errno 11)
- Nel codice di I/O non bloccante, tratta EAGAIN come «riprova più tardi» e attendi con poll/epoll/select invece di considerarlo un errore
- Se fork o la creazione di thread falliscono, controlla i limiti con 'ulimit -u' e 'cat /proc/sys/kernel/threads-max' e conta i thread con 'ps -eLf | wc -l'
- Con systemd, controlla TasksMax del servizio con 'systemctl show <service> -p TasksMax' e aumentalo nel file di unità se giustificato
- Nei container, controlla il limite di PID ('--pids-limit' in Docker o le impostazioni PID del pod)
- Cerca perdite di thread o processi nell'applicazione se il conteggio continua a crescere
- Per «resource temporarily unavailable» sui lock di apt o dpkg, attendi che l'altro processo del gestore di pacchetti termini invece di eliminare i file di lock
Perché succede
Il kernel usa EAGAIN per le operazioni che si bloccherebbero o supererebbero temporaneamente un limite: socket o pipe non bloccanti vuoti, limiti di processi per utente esauriti, limiti PID dei cgroup o lock detenuti da un altro processo.
Domande frequenti
EAGAIN è un errore da correggere?
Con l'I/O non bloccante è previsto e significa solo «ancora nessun dato». Con fork o thread segnala un limite e richiede attenzione.
EAGAIN è uguale a EWOULDBLOCK?
Su Linux hanno lo stesso valore (11). macOS usa 35 per entrambi.
Errori correlati
Fonte: Linux kernel errno.h · soluzioni scritte e verificate dalla redazione (vedi la nostra politica editoriale)
Ultimo aggiornamento: