`OSError: [Errno 24] Слишком много открытых файлов` с многопроцессорной обработкой python3.12.3 на терминале Ubuntu 24.0Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 `OSError: [Errno 24] Слишком много открытых файлов` с многопроцессорной обработкой python3.12.3 на терминале Ubuntu 24.0

Сообщение Anonymous »

Следующий код всегда выдает ошибку

Код: Выделить всё

OSError: [Errno 24] Too many open files
при достижении 508 выполненных процессов, что означает, что каждый процесс оставляет открытыми два файловых дескриптора, и тогда я достигаю системного предела:

Код: Выделить всё

from multiprocessing import Process

def do_job(task):
print("Task no " + str(task))

def main():
number_of_processes = 1000
processes = []

for i in range(number_of_processes):
p = Process(target=do_job, args=(i,))
processes.append(p)

# creating processes
for p in processes:
p.start()
p.join()

return True

if __name__ == "__main__":
main()
Если я попробую тот же код на терминале vs code, он завершится без проблем. Я просмотрел множество подобных тем в Интернете, но рабочего решения так и не нашел.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ssing-on-u
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»