Python | os.setpriority 函數
最近更新時間 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