Я получил функцию, которая вызывает процесс, используя subprocess.Popen
следующим образом:От subprocess.Popen до многопроцессорных
def func():
...
process = subprocess.Popen(substr, shell=True, stdout=subprocess.PIPE)
timeout = {"value": False}
timer = Timer(timeout_sec, kill_proc, [process, timeout])
timer.start()
for line in process.stdout:
lines.append(line)
timer.cancel()
if timeout["value"] == True:
return 0
...
Я называю эту функцию из другой функции с использованием цикла (например, из диапазона (1100)), как я могу сделать несколько вызовов функции с многопроцессорной обработкой? что каждый раз несколько процессов будут выполняться параллельно
Процессы не зависят друг от друга, единственным ограничением является то, что каждый процесс будет «работать» только с одним индексом (например, ни один из двух процессов не будет работать с индексом 1)
Спасибо за вашу помощь
Вы передаете какие-либо аргументы в 'substr'? –
Да, 'substr' отличается при каждом вызове –
Является ли тип process.stdout совместимым с multiprocess.Pipe? –