Есть у меня сктипт - делает превью для картинок. Картиной на данный момент 1900
в процессе выполнения скрипта вылеает
OError: [Errno 24] Too many open files:
Ошибка эта не питоновская, у процесса в линуксе есть ограничение на количество открытых файлов. Изменяется лимит командой ulimit -n 1024, текущие лимиты можно посмотреть ulimit -a. При попытке поменять лимит на 32000, дабы с запасом ловлю
bash: ulimit: open files: не могу изменить лимит: Операция не позволена
Из под рута команда выполняется, но применяется только для сессии рута, снятие этих лимитов довольно геморный и путанный процесс.
Гугление инфы по закрытию Image.open(img_file) ни к чему не привело, в доке написанно что PIL умный и сам должен файлы закрывать.
Куда копать - незнаю, запускать скрипт в нескольких процессах - и сложно, не красиво. Куда копать?