.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1980, 1991 The Regents of the University of California. .\" All rights reserved. .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\" @(#)getpriority.2 6.9 (Berkeley) 3/10/91 .\" .\" Modified 1993-07-24 by Rik Faith .\" Modified 1996-07-01 by Andries Brouwer .\" Modified 1996-11-06 by Eric S. Raymond .\" Modified 2001-10-21 by Michael Kerrisk .\" Corrected statement under EPERM to clarify privileges required .\" Modified 2002-06-21 by Michael Kerrisk .\" Clarified meaning of 0 value for 'who' argument .\" Modified 2004-05-27 by Michael Kerrisk .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH getpriority 2 "2 мая 2024 г." "Linux man\-pages 6.8" .SH ИМЯ getpriority, setpriority \- получить/установить приоритет планирования программы .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .P \fBint getpriority(int \fP\fIwhich\fP\fB, id_t \fP\fIwho\fP\fB);\fP \fBint setpriority(int \fP\fIwhich\fP\fB, id_t \fP\fIwho\fP\fB, int \fP\fIprio\fP\fB);\fP .fi .SH ОПИСАНИЕ С помощью вызова \fBgetpriority\fP() можно получить приоритет планирования (scheduling priority) процесса, группы процессов или пользователя, которые заданы в аргументах \fIwhich\fP и \fIwho\fP, а с помощью вызова \fBsetpriority\fP() назначить его. Атрибут процесса этих системных вызовов тот же самый что атрибут (так называемое значение уступчивости «nice»), с которым работает вызов \fBnice\fP(2). .P Значением \fIwhich\fP может быть одно из: \fBPRIO_PROCESS\fP, \fBPRIO_PGRP\fP или \fBPRIO_USER\fP, а значение \fIwho\fP рассматривается относительно \fIwhich\fP (идентификатор процесса, если \fBPRIO_PROCESS\fP; группы процесса, если \fBPRIO_PGRP\fP; идентификатор пользователя, если \fBPRIO_USER\fP). Нулевое значение \fIwho\fP означает (соответственно) вызывающий процесс, группу вызывающего процесса или реальный идентификатор пользователя вызывающего процесса. .P Аргумент \fIprio\fP — это значение в диапазоне от \-20 до 19 (смотрите ЗАМЕЧАНИЯ ниже), где \-20 это наивысший приоритет, а 19 — наинизший. Попытка задать приоритет вне этого диапазона просто подгоняется под диапазон. По умолчанию приоритет равен 0; низкие значения дают процессу больший приоритет при планировании. .P Вызов \fBgetpriority\fP() возвращает наивысший приоритет (наименьшее числовое значение) из приоритетов всех указанных процессов. Вызов \fBsetpriority\fP() устанавливает приоритеты всех указанных процессов в заданное значение. .P Обычно, только привилегированный процесс может понижать значение уступчивости (т. е., повышать приоритет). Однако начиная с Linux 2.6.12 непривилегированный процесс может понизить значение уступчивости процесса назначения, у которого установлено подходящее мягкое ограничение \fBRLIMIT_NICE\fP; подробности смотрите в \fBgetrlimit\fP(2). .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" On success, \fBgetpriority\fP() returns the calling thread's nice value, which may be a negative number. On error, it returns \-1 and sets \fIerrno\fP to indicate the error. .P Since a successful call to \fBgetpriority\fP() can legitimately return the value \-1, it is necessary to clear \fIerrno\fP prior to the call, then check \fIerrno\fP afterward to determine if \-1 is an error or a legitimate value. .P \fBsetpriority\fP() returns 0 on success. On failure, it returns \-1 and sets \fIerrno\fP to indicate the error. .SH ОШИБКИ .TP \fBEACCES\fP Вызывающий пытается понизить значение уступчивости (то есть повысить приоритет процесса), но он не имеет на это прав (в Linux: не имеет мандата \fBCAP_SYS_NICE\fP). .TP \fBEINVAL\fP Значение \fIwhich\fP не равно \fBPRIO_PROCESS\fP, \fBPRIO_PGRP\fP или \fBPRIO_USER\fP. .TP \fBEPERM\fP Процесс был найден, но эффективному идентификатору пользователя этого процесса не соответствует заданный в вызове эффективный (или реальный) идентификатор вызывающего и у вызывающего нет прав (в Linux: не имеет мандата \fBCAP_SYS_NICE\fP). Смотрите ЗАМЕЧАНИЯ далее. .TP \fBESRCH\fP Не найдено процессов, которые заданы значениями \fIwhich\fP и \fIwho\fP. .SH СТАНДАРТЫ POSIX.1\-2008. .SH ИСТОРИЯ POSIX.1\-2001, SVr4, 4.4BSD (these interfaces first appeared in 4.2BSD). .SH ПРИМЕЧАНИЯ Дополнительную информацию о значении уступчивости смотрите в \fBsched\fP(7). .P \fIЗамечание\fP: дополнительное свойство «autogroup» из Linux 2.6.38 означает, что значение уступчивости во многих случаях больше не работает как обычно. Подробней смотрите в \fBsched\fP(7). .P Потомок, созданный с помощью \fBfork\fP(2), наследует значение nice родителя. При вызове \fBexecve\fP(2) значение nice сохраняется. .P .\" The details on the condition for \fBEPERM\fP depend on the system. The above description is what POSIX.1\-2001 says, and seems to be followed on all System\ V\-like systems. Linux kernels before Linux 2.6.12 required the real or effective user ID of the caller to match the real user of the process \fIwho\fP (instead of its effective user ID). Linux 2.6.12 and later require the effective user ID of the caller to match the real or effective user ID of the process \fIwho\fP. All BSD\-like systems (SunOS 4.1.3, Ultrix 4.2, 4.3BSD, FreeBSD 4.3, OpenBSD\-2.5, ...) behave in the same manner as Linux 2.6.12 and later. .SS "Отличия между библиотекой C и ядром" The getpriority system call returns nice values translated to the range 40..1, since a negative return value would be interpreted as an error. The glibc wrapper function for \fBgetpriority\fP() translates the value back according to the formula \fIunice\ =\ 20\ \-\ knice\fP (thus, the 40..1 range returned by the kernel corresponds to the range \-20..19 as seen by user space). .SH ОШИБКИ Согласно POSIX, значение nice — свойство процесса. Однако в текущей реализации Linux/NPTL нитей POSIX значение nice — атрибут нити: различные нити в одном процессе могут иметь разные значения nice. Переносимые приложения не должны полагаться на поведение Linux, которое может стать стандартом в будущем. .SH "СМОТРИТЕ ТАКЖЕ" \fBnice\fP(1), \fBrenice\fP(1), \fBfork\fP(2), \fBcapabilities\fP(7), \fBsched\fP(7) .P Файл \fIDocumentation/scheduler/sched\-nice\-design.txt\fP из дерева исходного кода ядра Linux (начиная с Linux 2.6.23) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал Azamat Hackimov , Dmitry Bolkhovskikh , Vladislav , Yuri Kozlov и Иван Павлов . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику по его адресу электронной почты или по адресу .MT списка рассылки русских переводчиков .ME .