Python 3.3+Linuxosfunction
os.sched_setscheduler
os — scheduler (sched)
Set a process's scheduling policy and parameters.
Syntax
os.sched_setscheduler(...)
Switching to a real-time policy needs superuser rights or CAP_SYS_NICE and is dangerous: a looping SCHED_FIFO process can monopolise a core and hang the system. Parameters are passed as an os.sched_param object with a sched_priority field. Teaching tasks almost never need it.
Examples
import os
print(os.sched_getscheduler(0)) # → ? только Unix: текущая политика, обычно 0 (os.SCHED_OTHER)
os.sched_setscheduler(0, os.SCHED_OTHER, os.sched_param(0)) # → ? только Unix: процесс явно переведён на обычную политику разделения времени
print(os.sched_get_priority_min(os.SCHED_FIFO), os.sched_get_priority_max(os.SCHED_FIFO)) # → ? только Unix: диапазон realtime-приоритетов, на Linux 1 99
os.sched_setscheduler(0, os.SCHED_FIFO, os.sched_param(1)) # → PermissionError — realtime-политика требует прав root/CAP_SYS_NICE
os.sched_setscheduler(0, os.SCHED_FIFO, os.sched_param(0)) # → OSError: [Errno 22] Invalid argument — приоритет 0 недопустим для SCHED_FIFO
See also
Common errors
Open in the full glossarydocs.python.orgReport an inaccuracy