EMFILEEMFILE — Слишком много открытых файлов
Достигнут лимит открытых файловых дескрипторов для данного процесса.
Что вызывает эту ошибку
Процесс открыл больше файловых дескрипторов, чем разрешено ограничением RLIMIT_NOFILE. Как правило, это указывает на утечку дескрипторов: файлы или сокеты открываются, но не закрываются.
Как исправить
Увеличьте лимит командой ulimit -n. Устраните утечки дескрипторов, обеспечив явное закрытие всех открытых файлов и сокетов. Для проверки открытых файлов используйте lsof -p PID.
Пример
# Check current limit
ulimit -n
# Increase limit
ulimit -n 65535Связанные коды ошибок
SIGPROF (27)SIGPROF (27) — Сигнал профилирующего таймера
Истёк профилирующий таймер, установленный с помощью setitimer(ITIMER_PROF).
EAGAINEAGAIN — Ресурс временно недоступен
Запрошенная операция заблокировала бы неблокирующий ресурс, либо системный ресурс временно недоступен.
EMLINKEMLINK — Слишком много жёстких ссылок
Превышено максимальное количество жёстких ссылок на один файл.
E2BIGE2BIG — Слишком длинный список аргументов
Суммарный размер списка аргументов и переменных окружения, переданных в exec(), превышает системный лимит.
ETXTBSYETXTBSY — Текстовый файл занят
Предпринята попытка записи или изменения файла, который в данный момент выполняется.
SIGTSTP (20)SIGTSTP (20) — Терминальный сигнал остановки
Сигнал остановки от терминала, обычно Ctrl+Z. В отличие от SIGSTOP, может быть перехвачен.