我正在寻找一种方法如何使用系统优先级较低的Pythons subprocess
模块启动进程,我已经找到了:
Unix
使用preexec_fn
和os.nice()
resources
module似乎只适用于Unix
subprocess
manual中没有提到priority
。
我已经有了似乎有效的解决方案:
self.start_low_priority = ('cmd', '/c', 'start', '/MIN', '/LOW', '/B', '/WAIT')
注意: 开关/B /WAIT
必须按此顺序才能实现
并将其用作:
args = self.start_low_priority + ( 'foo.exe', 'bar', 'foobar')
subprocess.call( args, shell=False)
但是这个解决方案似乎不是正确而干净的方式加上Process Explorer无法从像这样开始的应用程序中构建正确的“进程树”(因此你没有能够杀死进程树)。
是否有任何良好做法为Windows执行此操作? Python没有提供任何我错过的多平台解决方案吗?