table of contents
nice(2) | System Calls Manual | nice(2) |
ИМЯ¶
nice - изменяет приоритет процесса
LIBRARY¶
Standard C library (libc, -lc)
СИНТАКСИС¶
#include <unistd.h>
int nice(int inc);
nice():
_XOPEN_SOURCE
|| /* начиная с glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
ОПИСАНИЕ¶
nice() adds inc to the nice value for the calling thread. (A higher nice value means a lower priority.)
Диапазон значений уступчивости: от +19 (низкий приоритет) до -20 (высокий приоритет). Попытки установить значение уступчивости вне этого диапазона срезаются до значения из этого диапазона.
Обычно, только привилегированный процесс может понижать значение уступчивости (т. е., повышать приоритет). Однако начиная с Linux 2.6.12 непривилегированный процесс может понизить значение уступчивости процесса назначения, у которого установлено подходящее мягкое ограничение RLIMIT_NICE; подробности смотрите в getrlimit(2).
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
On success, the new nice value is returned (but see NOTES below). On error, -1 is returned, and errno is set to indicate the error.
При успешном выполнении с полным основанием может вернуть -1. Для обнаружения ошибки перед вызовом присвойте errno значение 0 и проверьте, что оно не равно нулю после возврата nice() значения -1.
ОШИБКИ¶
- EPERM
- Вызывающий процесс пытается увеличить свой приоритет, указав отрицательное значение inc, но не имеет для этого прав. В Linux для этого требуется мандат CAP_SYS_NICE (но смотрите обсуждение ограничение ресурса RLIMIT_NICE в setrlimit(2)).
ВЕРСИИ¶
Отличия между библиотекой C и ядром¶
В POSIX.1 указано, что nice() должен возвращать новое значение уступчивости. Однако, системный вызов Linux при успешном выполнении возвращает 0. Таким же образом поступает обёрточная функция nice() из glibc 2.2.3 и старее.
Начиная с glibc 2.2.4, обёрточная функция nice() из glibc, поступает в соответствии с POSIX.1, вызывая getpriority(2) для получения нового значения уступчивости, которое возвращается вызывающему.
СТАНДАРТЫ¶
POSIX.1-2008.
ИСТОРИЯ¶
POSIX.1-2001, SVr4, 4.3BSD.
ПРИМЕЧАНИЯ¶
Дополнительную информацию о значении уступчивости смотрите в sched(7).
Замечание: дополнительное свойство «autogroup» из Linux 2.6.38 означает, что значение уступчивости во многих случаях больше не работает как обычно. Подробней смотрите в sched(7).
СМОТРИТЕ ТАКЖЕ¶
nice(1), renice(1), fork(2), getpriority(2), getrlimit(2), setpriority(2), capabilities(7), sched(7)
ПЕРЕВОД¶
Русский перевод этой страницы руководства разработал Alex Nik <rage.iz.me@gmail.com>, Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику по его адресу электронной почты или по адресу списка рассылки русских переводчиков.
2 мая 2024 г. | Linux man-pages (unreleased) |