如何在python中获取进程优先级

时间:2014-10-04 19:24:17

标签: python process

我希望在python 3.2中获得PID的进程优先级?

例如我有PID为3105的过程

我想做这样的事情

priority = getpriority(3015)

我在Linux Debian 3.2上

2 个答案:

答案 0 :(得分:0)

您可以阅读/proc/[pid]/stat并查看以下字段:

          (19) nice  %ld
                    The nice value (see setpriority(2)), a value in the
                    range 19 (low priority) to -20 (high priority).

请参阅man page

答案 1 :(得分:0)

使用psutil模块(可移植,支持Windows / Linux)

在Windows上,我在pid 27544下有一个notepad进程。迭代进程列表以找到进程对象。

>>> import psutil
>>> pid = 27544
>>> p = next((proc for proc in psutil.process_iter() if proc.pid == pid),None)

然后调用p.nice()而不带参数来获取当前的nice值(系统相关的)

>>> p.nice()
32

32是"正常"值(Windows psutil.NORMAL_PRIORITY_CLASS)。现在我使用流程管理器将优先级更改为"低于正常值"然后我再次运行nice

>>> p.nice()
16384   # psutil.BELOW_NORMAL_PRIORITY_CLASS
>>>