Изменить приоритет процесса


#include <unistd.h>
int nice( int incr );


The amount that you want to add to the process's priority.




The nice() function allows a process to change its priority. The invoking process must be in a scheduling class that supports the operation.

Note: This function has no effect in any of the scheduling policies that ЗОСРВ «Нейтрино» supports. Use sched_setparam(), pthread_setschedparam(), or pthread_setschedprio() instead of this function.

The nice() function adds the value of incr to the nice value of the calling process. A process's nice value is a nonnegative number; a greater positive value results in a lower CPU priority.

A maximum nice value of 2 * NZERO - 1 and a minimum nice value of 0 are imposed by the system. NZERO is defined in <limits.h> with a default value of 20. If you request a value above or below these limits, the nice value is set to the corresponding limit. A nice value of 40 is treated as 39. Only a process with superuser privileges can lower the nice value.

Возвращаемое значение:

Новое nice-значение минус NZERO. Если возникла ошибка функция возвращает -1, приоритет потока не меняется, код ошибки записывается в errno.

Коды ошибок:

The nice() function was called by a process in a scheduling class other than time-sharing.
The incr argument was negative or greater than 40, and the effective user ID of the calling process isn't the superuser.


POSIX 1003.1 XSI

Точка остановки потока
Обработчик прерываний
Обработчик сигналов
В потоке


As -1 is a permissible return value in a successful situation, an application wishing to check for error situations should set errno to 0, then call nice(), and if it returns -1, check to see if errno is nonzero.

Тематические ссылки:

execl(), execle(), execlp(), execlpe(), execv(), execve(), execvp(), execvpe(), pthread_setschedparam(), pthread_setschedprio(), sched_setparam()

nice в Справочнике по Утилитам

Предыдущий раздел: Описание API системной библиотеки