我有一个需要执行的进程池。我想充分利用机器,以便所有CPU都在执行进程。我不想过度订阅系统,所以我真正想要的是在任何给定时刻#repeating_processes =#cpus。 我还需要存储stdout,stderr并返回每个已完成进程的代码。 如何在Python中实现这一目标?
编辑:'过程'是指shell过程。
答案 0 :(得分:2)
如果您正在谈论您自己的,Python实现的流程:
multiprocessing
模块使您能够生成多个进程。特别是,您可能希望在Pool
中创建multiprocessing.cpu_count个进程数。
如果您正在谈论要通过shell 执行的单独程序:
subprocess
模块将允许您通过其Popen
类生成进程,该类具有接受文件类似stdin
,stdout
,sterr
的参数对象。 Popen.returncode
可用于检查返回代码。