Основы программирования в Linux
Шрифт:
Приложения могут определять и изменять свои (и чужие) приоритеты с помощью функций
Таблица 4.11
| Параметр which | Описание |
|---|---|
| PRIO_PROCESS | who — идентификатор процесса |
| PRIO_PGRP | who — идентификатор группы |
| PRIO_USER | who — идентификатор пользователя |
Итак, для определения приоритета текущего процесса вы можете выполнить следующий вызов:
Функция
По умолчанию приоритет равен 0. Положительные значения приоритета применяются для фоновых задач, которые выполняются, только когда нет задачи с более высоким приоритетом, готовой к выполнению. Отрицательные значения приоритета заставляют программу работать интенсивнее, выделяя большие доли доступного времени ЦП. Диапазон допустимых приоритетов — от -20 до +20. Часто это приводит к путанице, поскольку, чем выше числовое значение, тем ниже приоритет выполнения.
Функция
Предельные величины, заданные для системных ресурсов, можно прочитать и установить с помощью функций
Таблица 4.12
| Элемент rlimit | Описание |
|---|---|
| rlim_t rlim_cur | Текущее, мягкое ограничение |
| rlim_t rlim_max | Жесткое ограничение |
Определенный выше тип
Ограничить можно ряд системных ресурсов. Эти ограничения описаны в параметре
Таблица 4.13
| Параметр resource | Описание |
|---|---|
| RLIMIT_CORE | Ограничение размера файла дампа ядра, в байтах |
| RLIMIT_CPU | Ограничение времени ЦП, в секундах |
| RLIMIT_DATA | Ограничение размера сегмента data , в байтах |
| RLIMIT_FSIZE | Ограничение размера файла, в байтах |
| RLIMIT_NOFILE | Ограничение количества открытых файлов |
| RLIMIT_STACK | Ограничение размера стека, в байтах |
| RLIMIT_AS | Ограничение доступного адресного пространства (стек и данные), в байтах |
В упражнении 4.15 показана программа limits.c, имитирующая типичное приложение. Она также задает и нарушает ограничения ресурсов.
1. Включите заголовочные файлы для всех функций, которые вы собираетесь применять в данной программе:
2. Функция типа
3. Функция
4. Далее она вызывает функции
Ким
Приключения:
исторические приключения
рейтинг книги
Боярский сын
1. Во славу Рода!
Фантастика:
аниме
сказочная фантастика
фэнтези
попаданцы
рейтинг книги
Лебединая Дорога (сборник)
Приключения:
исторические приключения
рейтинг книги
Паладин из прошлого тысячелетия
1. Соприкосновение миров
Фантастика:
боевая фантастика
попаданцы
рейтинг книги
Матабар III
3. Матабар
Фантастика:
фэнтези
рейтинг книги
Последний Паладин
1. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
На границе империй. Том 4
4. Фортуна дама переменчивая
Фантастика:
космическая фантастика
рейтинг книги
Жена неверного генерала, или Попаданка на отборе
Любовные романы:
любовно-фантастические романы
рейтинг книги
Законник Российской Империи. Том 2
2. Словом и делом
Фантастика:
городское фэнтези
альтернативная история
аниме
дорама
рейтинг книги
Газлайтер. Том 12
12. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Я – Стрела. Трилогия
Я - Стрела
Любовные романы:
любовно-фантастические романы
эро литература
рейтинг книги
Геном хищника. Книга пятая
5. Я - Легенда!
Фантастика:
рпг
фэнтези
попаданцы
рейтинг книги
Свет горизонта
1. Свет горизонта
Фантастика:
фэнтези
рейтинг книги