MAN getpriority 2

Материал из Gentoo Linux Wiki

Перейти к: навигация, поиск


Вернуться в раздел мануалов


Это - статья, добавленная автоматически, при помощие специальной программы-робота. Пожалуйста убедитесь что статья добавлена коррекно, исправьте её если это потребуется и уберите пометку {{Bot added}}].

Содержание

[править] Имя

getpriority, setpriority - получить/установить приоритет программы

[править] Обзор

#include <sys/time.h>

#include <sys/resource.h>
int getpriority(int which , int who );

int setpriority(int which , int who , int prio );

[править] Описание

Вызовом getpriority можно получить и вызовом setpriority можно установить приоритет планировщика для процесса, группы процесса или пользователя в зависимости от заданных значений which и who . Which может принимать одно из значений PRIO_PROCESS , PRIO_PGRP , или PRIO_USER , а who интерпретируется в зависимости от which (идентификатор процесса для PRIO_PROCESS , группы процесса для PRIO_PGRP , и идентификатор пользователя для PRIO_USER ). Нулевое значение для who означает (соответственно) вызывающий процесс, группу вызывающего процесса или реальный идентификатор пользователя вызывающего процесса. Prio - это значение в диапазоне от -20 до 20 (см. замечания ниже). По умолчанию приоритет равен 0; более низкие значения соответствуют большему приоритету, который уделяет задаче планировщик.

Вызов getpriority возвращает наивысший приоритет (наименьшее числовое значение), из приоритетов всех указанных процессов. Вызов setpriority устанавливает приоритеты всех указанных процессов в заданное значение. Только суперпользователь может устанавливать приоритет ниже нуля.

[править] Возвращаемое значение

Поскольку getpriority может возвращать значение -1 как один из правильных результатов, необходимо очищать значение переменной errno перед этим вызовом и затем проверять его снова после вызова, чтобы определить, является ли -1 ошибкой или результатом вызова. Вызов setpriority возвращает 0, если прошёл успешно или -1, если завершился с ошибкой.

[править] Ошибки

ESRCH Не найдено процессов, которые заданы значениями which и who . EINVAL Which не является одним из значений PRIO_PROCESS , PRIO_PGRP , или PRIO_USER . В дополнение к вышеуказанным ошибкам, setpriority может завершиться неудачно, если:

EPERM Процесс был найден, но эффективному идентификатору пользователя этого процесса не соответствует заданный в вызове эффективный (или реальный) идентификатор пользователя.

EACCES Не-суперпользователь пытается назначить приоритет ниже нуля.

[править] Замечания

Детали условия возникновения ошибки EPERM зависят от системы. Ниже дано описание, что по этому поводу говорит стандарт SUSv3 и далее что происходит на системах стандрта SYSV. Linux требует, чтобы реальный или эффективный идентификатор пользователя, производящего вызов совпадали с реальным идентификатором пользователя для процесса, указанного в who (вместо эффективного идентификатора пользователя). Все BSD системы (SunOS 4.1.3, Ultrix 4.2, BSD 4.3, FreeBSD 4.3, OpenBSD-2.5, ...) требуют чтобы эффективный идентификатор пользователя, производящего вызов совпадал с реальным или эффективным идентифкатором пользователя для процесса, указанного в who.

Фактический диапазон значений приоритета варьируется в зависимости от версий ядра. Linux до 1.3.36 имел диапазон значений -infinity..15. Linux начиная с 1.3.43 имеет диапазон значений -20..19 и системный вызов getpriority возвращает для этих значений величины 40..1 (отрицательные числа показывают код ошибки). Библиотечный вызов преобразует возвращаемое значение N в значение 20-N.

Включение заголовочного файла <sys/time.h> в настоящее время не требуется, но увеличивает переносимость, написанной программы. (В реальности, <sys/resource.h> определяет структуру rusage с полями типа struct timeval , которая определяется в <sys/time.h> .)

[править] Соответствие стандартам

SVr4, 4.4BSD (эти вызовы впервые появились в 4.2BSD).

[править] Смотри также

nice (1), fork (2), renice (8)

[править] Перевод

Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2005

[править] Комментарии к man файлу

Copyright (c) 1980, 1991 The Regents of the University of California.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software
must display the following acknowledgement:
This product includes software developed by the University of
California, Berkeley and its contributors.
4. Neither the name of the University nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

@(#)getpriority.2 6.9 (Berkeley) 3/10/91

Modified Sat Jul 24 16:33:19 1993 by Rik Faith <faith@cs.unc.edu>
Modified Mon Jul 1 21:59:57 1996 by Andries Brouwer <aeb@cwi.nl>
Modified Wed Nov 6 03:55:47 1996 by Eric S. Raymond <esr@thyrsus.com>
Modified, 21 Oct 01, Michael Kerrisk, <mtk16@ext.canterbury.ac.nz>
Corrected statement under EPERM to clarify privileges required
Modified, 21 Jun 02, Michael Kerrisk, <mtk16@ext.canterbury.ac.nz>
Clarified meaning of 0 value for 'who' argument

Дата последней коррекции перевода 28.03.2005
Перевод с английского сделал Виктор Вислобоков <corochoone@perm.ru>
http://www.linuxshare.ru/projects/trans/mans.html

Личные инструменты