Mua*_*Mua 1 python subprocess multiprocessing
我是Python的新手.我最近尝试使用Python脚本来调用控制台exe,这是一个需要很长时间的过程.我将允许在CPU允许的情况下多次调用exe.当exe完成它的工作.可以将CPU分配给其他新作业.所以我想我可能需要多个过程控制机制.
在我切换到multiprocessing.Process之前,我可以从subprocess.Popen调用我的exe.它工作正常.但是,在我切换到multiprocessing.Process之后.似乎start()无法调用我的exe(我可以告诉它与CPU性能的区别).任何人都可以提供这方面的线索吗?仅供参考,我使用以下代码.
以前使用subrpocess:
cmd = exeFileName + r" " + inputArguments
a = subprocess.Popen(cmd, shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
Run Code Online (Sandbox Code Playgroud)
现在使用多个进程:
b = multiprocessing.Process(target=exeFileName,args=inputArguments)
b.start()
Run Code Online (Sandbox Code Playgroud)
您可能已经注意到,我的exe需要输入参数才能工作.所以在子进程代码中,我使用一串cmd来捕获整行.在多处理代码中,我不是.它已经有一个目标和args内置.感谢您的时间!
用于subprocess.Popen在子进程中运行其他可执行文件.
用于multiprocessing.Process在子进程中运行Python callables(例如函数).
这两者不可互换.
| 归档时间: |
|
| 查看次数: |
2970 次 |
| 最近记录: |