Изменить приоритет и дисциплину планирования процесса
#include <sched.h>int sched_setscheduler( pid_t pid,int policy,const struct sched_param *param );
0
, если подразумевается текущий процесс.libc
Функция sched_setscheduler() изменяет приоритет процесса pid на значение поля sched_priority структуры struct sched_param, переданном в параметре param, а дисциплина планирования принимает значение параметра policy.
Если pid равен нулю, устанавливаются дисциплина планирования и приоритет вызывающего процесса.
Значение поля sched_priority параметра param должно находиться между минимальным и максимальным значениями, возвращаемыми функциями sched_get_priority_max() и sched_get_priority_min().
По умолчанию приоритет процесса и дисциплина планирования наследуются или явно устанавливаются родительским процессом. После запуска дочерний процесс может изменить свой приоритет с помощью данной функции.
Предыдущая дисциплина планирования. Если возникла ошибка функция возвращает -1
, код ошибки записывается в errno.
См. sched_getparam().
POSIX 1003.1 Process Scheduling
В многопоточной программе sched_setscheduler() устанавливает дисциплину планирования для потока 1
в процессе pid или для вызывающего потока, если pid равен 0
.
struct sched_param, errno, getprio(), sched_getparam(), sched_get_priority_max(), sched_get_priority_min(), sched_getscheduler(), sched_setparam(), sched_yield(), setprio()
Предыдущий раздел: Описание API системной библиотеки