我希望在python 3.2中获得PID的进程优先级?
例如我有PID为3105的过程
我想做这样的事情
priority = getpriority(3015)
我在Linux Debian 3.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
>>>