Python | os.setpriority 函数
Lasted 2020-12-07 15:57:26
os.setpriority 函数设置程序调度优先级。 which 的值为 PRIO_PROCESS, PRIO_PGRP 或 PRIO_USER 之一,而 who 会相对于 which (PRIO_PROCESS 的进程标识符, PRIO_PGRP 的进程组标识符和 PRIO_USER 的用户 ID) 被解析。 who 值为零 (分别) 表示调用进程,调用进程的进程组或调用进程的真实用户 ID。 priority 是范围在 -20 至 19 的值。 默认优先级为 0;较小的优先级数值会更优先被调度。
通过 os.getpriority(which, who) 获取进程优先级。
函数定义
os.setpriority(which, who, priority)
# 函数定义
if sys.platform != 'win32':
# Unix only
...
def setpriority(which: int, who: int, priority: int) -> None: ...
...
兼容性:Unix 系统。
参数
- checkwhich - which 参数值。
- os.PRIO_PROCESS=0 进程标识符。
- os.PRIO_PGRP=1 进程组标识符。
- os.PRIO_USER=2 用户ID。
- checkwho - 跟 which 值对应。
- checkpriority - priority 是范围在 -20 至 19 的值。 默认优先级为 0;较小的优先级数值会更优先被调度。
返回值
- checkNone - 无。
示例1: - 使用 os.setpriority() 函数设置进程优先级。
# coding=utf-8
# Python3 代码
# 讲解怎样使用 os.setpriority() 函数设置优先级
# 引入 os 库
import os
# 根据 pid 获取优先级
which = os.PRIO_PROCESS
who = os.getpid()
# 当前优先级
pro = os.getpriority(which, who)
print("PRO::", pro)
# 设置优先级,降级
os.setpriority(which, who, pro+1)
# 获取优先级
print("PRO::", os.getpriority(which, who))
PRO:: 0 PRO:: 1