Python Glossary English

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Сообщить о неточности