Python Glossary Русский

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