Python 3.3+Linux · macOSosфункция
os.setpriority
os — сигналы и приоритет
Устанавливает приоритет планирования (nice) процесса/группы/пользователя. Доступно на Unix.
Синтаксис
os.setpriority(...)
Задаёт абсолютное значение, а не прибавку, как nice. Повысить приоритет (уменьшить значение) без прав суперпользователя нельзя — будет PermissionError. Для фоновой обработки, которая не должна мешать интерактивной работе, обычно ставят 10 или 19.
Примеры
import os
os.setpriority(os.PRIO_PROCESS, 0, 10) # → ? только Unix: None; текущему процессу (who=0) назначен nice 10 — значение задаётся, а не прибавляется, как в os.nice
print(os.getpriority(os.PRIO_PROCESS, 0)) # → ? только Unix: 10
os.setpriority(os.PRIO_PGRP, 0, 15) # → ? только Unix: nice 15 сразу всей группе процессов
import os
import subprocess; proc = subprocess.Popen(['sleep', '60']) # → ? фоновый потомок запущен
os.setpriority(os.PRIO_PROCESS, proc.pid, 19) # → ? только Unix: тяжёлая фоновая задача понижена до минимального приоритета
os.setpriority(os.PRIO_PROCESS, 0, -5) # → ? только Unix: PermissionError без прав root — повышать приоритет нельзя
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности