sched_setparam, sched_getparam - получает и устанавливает параметры планировщика
НАЗВАНИЕsched_setparam, sched_getparam - получает и устанавливает
параметры планировщика
СИНТАКСИС
#include
int sched_setparam(pid_t pid, const struct sched_param
*p);
int sched_getparam(pid_t pid, struct sched_param *p);
struct sched_param {
...
int sched_priority;
...
};
ОПИСАНИЕ
sched_setparam устанавливает параметры планирования
процесса с номером pid согласно алгоритму его
планирования. Если pid равен нулю, то устанавливаются
параметры вызывающего процесса. Тип и значение аргумента p
зависит от алгоритма планировщика. В данный момент в Linux
поддерживаются следующие виды планирования: SCHED_FIFO,
SCHED_RR, и SCHED_OTHER. sched_getparam получает текущие
параметры планирования процесса pid. Если pid равен нулю,
то возвращаются параметры вызывающего процесса.
sched_setparam проверяет соответствие значения аргумента p
алгоритму планирования заданного процесса. Параметр
p->sched_priority должен находиться в диапазоне,
начинающемся со значения, возвращаемого sched_get_prior-
ity_min, и заканичивающемся значением, возвращаемым
sched_get_priority_max. В POSIX-системах, в которых
существуют функции sched_setparam и sched_getparam, в
, задается определение _POSIX_PRIORITY_SCHEDUL-
ING.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При удачном завершении вызова возвращаемое значение равно
нулю. При ошибке возвращается -1, а переменной errno
присваивается номер ошибки.
КОДЫ ОШИБОК
ESRCH Процесса с номером pid не существует.
EPERM Процесс не имеет достаточного количества прав на
вызов функции. Эффективный идентификатор
пользователя процесса, вызывающего sched_setparam,
должен быть равен эффективному или обычному
идентификатору пользователя процесса с номером pid
либо быть суперпользовательским.
EINVAL Параметр p не соответствует алгоритму планировщика
данного процесса.
СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1b (бывший POSIX.4)