sched_setparam, sched_getparam -
получает и
устанавливает
параметры
планирования
Standard C library (
libc,
-lc)
#include <sched.h>
int sched_setparam(pid_t pid, const struct sched_param *param);
int sched_getparam(pid_t pid, struct sched_param *param);
struct sched_param { ... int sched_priority; ... };
Вызов
sched_setparam()
устанавливает
параметры
планирования,
связанные
с
алгоритмом
планирования
нити,
идентификатор
которой
задан в
pid.
Если
pid
равен нулю,
то
устанавливаются
параметры
вызывающей
нити. Тип и
значение
аргумента
param зависит
от
алгоритма
планирования,
назначенного
нити с
идентификатором
pid. Описание
алгоритмов
планирования,
поддерживаемых
в Linux,
смотрите в
sched(7).
Вызов
sched_getparam()
получает
текущие
параметры
планирования
нити с
идентификатором
pid. Если
pid
равно нулю,
то
возвращаются
параметры
вызывающей
нити.
Вызов
sched_setparam()
проверяет
соответствие
значения
аргумента
param политике
планирования
заданной
нити.
Значение
param->sched_priority
должно
находиться
в
диапазоне
от
sched_get_priority_min(2) до
sched_get_priority_max(2).
Описание
привилегий
и
ограничений
ресурсов,
связанных
с
планирование
и
алгоритмами,
смотрите в
sched(7).
В POSIX-системах,
в которых
существуют
вызовы
sched_setparam()
и
sched_getparam(), в
<unistd.h>
определён
макрос
_POSIX_PRIORITY_SCHEDULING.
On success,
sched_setparam() and
sched_getparam() return 0. On
error, -1 is returned, and
errno is set to indicate the error.
- EINVAL
- Некорректные
аргументы:
значение
pid
отрицательно
или param
равно NULL
- EINVAL
- (sched_setparam())
Аргумент
param не
соответствует
текущей
политике
планирования.
- EPERM
- (sched_setparam())
Вызывающий
не имеет
достаточного
количества
прав (Linux: не
имеет
мандата
CAP_SYS_NICE).
- ESRCH
- Нить с
идентификатором
pid не
найдена.
POSIX.1-2001, POSIX.1-2008.
getpriority(2),
gettid(2),
nice(2),
sched_get_priority_max(2),
sched_get_priority_min(2),
sched_getaffinity(2),
sched_getscheduler(2),
sched_setaffinity(2),
sched_setattr(2),
sched_setscheduler(2),
setpriority(2),
capabilities(7),
sched(7)
Русский
перевод
этой
страницы
руководства
был сделан
Alexander Golubev <
[email protected]>, Azamat Hackimov
<
[email protected]>, Hotellook, Nikita
<
[email protected]>, Spiros Georgaras <
[email protected]>, Vladislav
<
[email protected]>, Yuri Kozlov <
[email protected]>
и Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]