Главная » 2017 » Ноябрь » 21 » man 2 nice
01:04
man 2 nice

SEO sprint - Всё для максимальной раскрутки!





ИМЯ


nice - изменяет приоритет процесса



ОБЗОР


#include <unistd.h>

int nice(int inc);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

nice(): _XOPEN_SOURCE
|| /* начиная с glibc 2.19: */ _DEFAULT_SOURCE
|| /* версии glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE



ОПИСАНИЕ


Вызов nice() добавляет значение аргумента inc к значению уступчивости (nice)
вызвавшей нити (большее значение уступчивости означает меньший приоритет).

Диапазон значений уступчивости: от +19 (низкий приоритет) до -20 (высокий
приоритет). Попытки установить значение уступчивости вне этого диапазона срезаются
до значения из этого диапазона.

Обычно, только привилегированный процесс может понижать значение уступчивости (т.
е., повышать приоритет). Однако начиная с Linux 2.6.12 непривилегированный процесс
может понизить значение уступчивости процесса назначения, у которого установлено
подходящее мягкое ограничение RLIMIT_NICE; подробности смотрите в getrlimit(2).



ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ


При успешном выполнении возвращается новое значение nice (но см. ЗАМЕЧАНИЯ далее).
В случае ошибки возвращается -1, а errno устанавливается в соответствующее
значение.

При успешном выполнении с полным основанием может вернуть -1. Для обнаружения
ошибки перед вызовом присвойте errno значение 0 и проверьте, что оно не равно нулю
после возврата nice() значения -1.



ОШИБКИ


EPERM Вызывающий процесс пытается увеличить свой приоритет, указав отрицательное
значение inc, но не имеет для этого прав. В Linux для этого требуется
мандат CAP_SYS_NICE (но смотрите обсуждение ограничение ресурса RLIMIT_NICE
в setrlimit(2)).



СООТВЕТСТВИЕ СТАНДАРТАМ


POSIX.1-2001, POSIX.1-2008, SVr, 43BSD. Однако системный вызов и функция (g)libc
(до glibc 2.2.4) возвращали нестандартное значение, смотрите далее.



ЗАМЕЧАНИЯ


Дополнительную информацию о значении уступчивости смотрите в sched(7).

Замечание: дополнительное свойство «autogroup» из Linux 2.6.38 означает, что
значение уступчивости во многих случаях больше не работает как обычно. Подробней
смотрите в sched(7).

Отличия между библиотекой C и ядром
В POSIX.1 указано, что nice() должен возвращать новое значение уступчивости.
Однако, системный вызов Linux при успешном выполнении возвращает 0. Таким же
образом поступает обёрточная функция nice() из glibc 2.2.3 и старее.



Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 27 | Добавил: Администратор | Рейтинг: 0.0/0
Всего комментариев: 0
avatar