sched_rr_get_interval(2)

НАИМЕНОВАНИЕ
sched_rr_get_interval - определяет временной интервал SCHED_RR для заданного процесса

БИБЛИОТЕКА
Стандартная библиотека языка C (libc, -lc)

СИНТАКСИС
#include <sched.h>

int sched_rr_get_interval(pid_t pid, struct timespec *tp);

ОПИСАНИЕ
Вызов sched_rr_get_interval() записывает циклический квант времени процесса pid в структуру timespec(3), на которую указывает tp. Указанный процесс должен запускаться с политикой выполнения SCHED_RR.

Если значение pid равно нулю, то в *tp записывается квант времени вызывающего процесса.

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

ОШИБКИ

EFAULT
    Проблема с копированием информации в пространство пользователя.

EINVAL
    Invalid pid.

ENOSYS
    Системный вызов ещё не реализован (только в старых ядрах).

ESRCH
    Не удалось найти процесс с идентификатором, указанном в pid.

ВЕРСИИ

  Linux
В Linux 3.9 добавлен новый механизм регулировки (и просмотра) кванта SCHED_RR: файл /proc/sys/kernel/sched_rr_timeslice_ms отражает квант как значение в миллисекундах, по умолчанию равное 100. Запись 0 в этот файл сбрасывает квант в значение по умолчанию.

СТАНДАРТЫ
POSIX.1-2024.

ИСТОРИЯ
POSIX.1-2001.

  Linux
В POSIX не определён какой-либо механизм для контроля размера циклического кванта времени. В старых ядрах Linux для этого создан (непереносимый) метод. Квант можно контролировать подгоняя значение любезности процесса (см. setpriority(2)). Назначение отрицательного (т.е., высокого) значения любезности приведёт к более длинному кванту; назначение положительного (т.е., низкого) значения любезности приведёт к сокращению кванта. Квант по умолчанию равен 0.1 секунды; степень, с которой значение любезности влияет на квант, различается в разных версиях ядра. Данный метод подгонки кванта был удалён начиная с Linux 2.6.24.

ПРИМЕЧАНИЯ
В системах POSIX, в которых доступен вызов sched_rr_get_interval(), определён _POSIX_PRIORITY_SCHEDULING в <unistd.h>.

СМОТРИТЕ ТАКЖЕ
timespec(3), sched(7)

ПЕРЕВОД
Русский перевод этой страницы руководства разработал(и) Alexander Golubev <fatzer2@gmail.com>, Azamat Hackimov <azamat.hackimov@gmail.com>, Hotellook, Nikita <zxcvbnm3230@mail.ru>, Spiros Georgaras <sng@hellug.gr>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков (debian-l10n-russian@lists.debian.org).