加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 21:55:24 所属栏目:Python 来源:网络整理
导读:我正在寻找一种如何使用低系统优先级的Pythons子进程模块启动进程的方法,我已经发现: solution for Unix 使用preexec_fn和os.nice() resources module这似乎只适用于Unix some another questions and answers for linux subprocess manual没有提到优先权.

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

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

subprocess manual没有提到优先权.

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

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).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读