Я новичок в Python.Недавно я пытался использовать скрипт Python для вызова консоли exe, что требует длительного времени.Я позволю exe вызываться столько раз, сколько позволяет процессор.И когда exe закончил свою работу.Он должен освободить процессор для других новых заданий.Поэтому я думаю, что мне может понадобиться механизм управления несколькими процессами.
Поскольку многопроцессорная обработка может вызывать только вызываемую функцию Python.Он не может напрямую вызывать консоль exe.Я обернул подпроцесс.Popen (cmd) в функцию Python.Однако после этого я обнаружил, что перед использованием multiprocessing.Process.start () используется.Exe уже запущен.И проблема в том, что до того, как он закончит то, что он делает (нужно долгое время), он не возвращает мне контроль.Программа зависла, чтобы ждать.Это не то, что я хочу.
Я отправляю коды, как показано ниже:
import sys
import os
import multiprocessing
import subprocess
def subprocessExe(cmd):
return subprocess.call(cmd, shell=False, stdout=subprocess.PIPE, \
stderr=subprocess.PIPE,creationflags=0x08000000)
if __name__ == '__main__':
p = multiprocessing.Process(target=self.subprocessExe(exeFileName))
p.start()
print p, p.is_alive()
Спасибо за ваше время!