Python 3.3+Linuxosфункция
os.sched_setscheduler
os — планировщик (sched)
Задаёт политику планирования и параметры процесса.
Синтаксис
os.sched_setscheduler(...)
Переход на политику реального времени требует прав суперпользователя или CAP_SYS_NICE и опасен: зациклившийся процесс с SCHED_FIFO может занять ядро целиком и подвесить систему. Параметры передаются объектом os.sched_param с полем sched_priority. Для учебных задач почти не нужна.
Примеры
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
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности