Изменить приоритет процесса
#include <unistd.h>int nice( int incr );
libc
Функция nice() позволяет изменить приоритет процесса. Вызывающий процесс должен относиться к классу планирования, поддерживающему данную операцию.
![]() | Данная функция не влияет ни на одну политику планирования, поддерживаемую ЗОСРВ «Нейтрино». Следует использовать sched_setparam(), pthread_setschedparam() или pthread_setschedprio() вместо данной функции. |
Функция nice() добавляет значение incr к nice-значению вызывающего процесса. nice-значение процесса - неотрицательное значение; чем больше это значение, тем меньше приоритет процессора для процесса.
Максимальное значение nice - 2
* NZERO
- 1
, минимальное значение - 0
, эти значения определяются системой. NZERO
определено в <limits.h>
со стандартным значением 20
. Если запрашивается значение выше или ниже этих пределов, значение nice устанавливается в соответствующих границах. Значение nice 40
рассматривается как 39
. Только процесс с правами суперпользователя может понизить значение nice.
Новое nice-значение минус NZERO
. Если возникла ошибка, функция возвращает -1
, приоритет потока не меняется, код ошибки записывается в errno.
40
, и эффективный идентификатор пользователя вызывающего процесса не равен суперпользователю. POSIX 1003.1 X/Open Systems Interfaces Extension
Поскольку -1
является допустимым возвращаемым значением в успешной ситуации, приложение, желающее проверить наличие ошибок, должно установить errno в 0
, затем вызвать nice(), и если она вернет -1
, проверить значение errno.
execl(), execle(), execlp(), execlpe(), execv(), execve(), execvp(), execvpe(), pthread_setschedparam(), pthread_setschedprio(), sched_setparam()
nice в Справочнике по Утилитам
Предыдущий раздел: Описание API системной библиотеки