python – 启动具有有限优先级的子进程

前端之家收集整理的这篇文章主要介绍了python – 启动具有有限优先级的子进程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在寻找一种如何使用低系统优先级的Pythons子进程模块启动进程的方法,我已经发现:

> solution for Unix使用preexec_fn和os.nice()
> resources module这似乎只适用于Unix
> some another questions and answers for linux

@L_403_4@没有提到优先权.

我已经有了似乎有效的解决方案:

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没有提供任何我错过的多平台解决方案吗?

最佳答案
您可以使用psutil库.
特别是,您可以将优先级设置psutil.Process.nice设置为所需的值.

有关示例,另请参见this答案.

编辑:直接查看psutil的文档设置Process.nice,不应该使用Process.nice(value).

猜你在找的Python相关文章