Linux программирование в примерах
Шрифт:
Чисто BSD системы (4.3 Reno и более поздние) поддерживают все поля. В табл. 9.2 описаны доступность различных полей
Таблица 9.2. Доступность полей
| Поле | POSIX | Linux | Поле | POSIX | Linux |
|---|---|---|---|---|---|
| ru_utime | >= 2.4 | ru_nswap | >=2.4 | ||
| ru_stime | >=2.4 | ru_nvcsw | >=2.6 | ||
| ru_minflt | >=2.4 | ru_nivcsw | >=2.6 | ||
| ru_majflt | >=2.4 |
Стандартом
Наиболее интересными полями являются
92
Дважды проверьте справочную страницу getrusage(2), если у вас более новое ядро, поскольку это поведение, возможно, изменилось — Примеч. автора.
Эти два поля используют
В BSD 4.2 и 4.3 аргумент
Таблица 9.3.
| Макрос POSIX | Член объединения | Использование | Значение |
|---|---|---|---|
| WIFEXITED | w_termsig | w.w_termsig == 0 | True при нормальном завершении |
| WEXITSTATUS | w_retcode | code = w.w_retcode | Статус завершения, если не по сигналу |
| WIFSIGNALED | w_termsig | w.w_temsig != 0 | True, если завершен по сигналу |
| WTERMSIG | w_termsig | sig = w.w_termsig | Сигнал, вызвавший завершение |
| WIFSTOPPED | w_stopval | w.w_stopval == WSTOPPED | True,
|
| WSTOPSIG | w_stopsig | sig = w.w_stopsig | Сигнал, вызвавший остановку |
| WCOREDUMP | w_coredump | w.w_coredump != 0 | True, если потомок сделал снимок образа |
POSIX не стандартизует
9.2. Группы процессов
Группа процесса является группой связанных процессов, которые в целях управления заданием (job) рассматриваются вместе. Процессы с одним и тем же ID группы процессов являются членами группы процессов, а процесс, PID которого равен ID группы процессов, является лидеров группы процессов. Новые процессы наследуют ID группы процессов своих родительских процессов.
Мы уже видели, что
9.2.1. Обзор управления заданиями
Управление заданиями является сложной темой, той, в которую мы решили не погружаться в данной книге. Однако, здесь приведен краткий концептуальной обзор.
Устройство терминала (физическое или другое) с работающим на нем пользователем называется управляющим терминалом.
Сеанс (session) является коллекцией групп процессов, связанных с управляющим терминалом. На одном терминале имеется лишь один сеанс, с несколькими группами процессов в сеансе. Один процесс назначен лидером сеанса; обычно это оболочка, такая, как Bash,
93
Каждое задание, запущенное управляющей заданиями оболочкой, будь то простая программа или конвейер, получает отдельный идентификатор группы процессов. Таким способом оболочка может манипулировать заданием как отдельной сущностью, хотя в нем может быть несколько процессов.
Управляющий терминал также имеет связанный с ним идентификатор группы процессов. Когда пользователь набирает специальный символ, такой, как CTRL-C для «прерывания» или CTRL-Z для «остановки», ядро посылает данный сигнал процессам в группе процессов терминала.
Группе процессов, ID которой совпадает с ID управляющего терминала, разрешено записывать в терминал и читать с него. Эта группа называется приоритетной (foreground) группой процессов. (Она получает также генерируемые клавиатурой сигналы.) Любые другие группы процессов в сеансе являются фоновыми (background) группами процессов и не могут читать или записывать в терминал; они получают специальные сигналы, которые их останавливают, если они пытаются это делать.
Дворянин
2. Император и трубочист
Фантастика:
боевая фантастика
альтернативная история
рейтинг книги
Газлайтер. Том 25
25. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
рейтинг книги
Неверный
Любовные романы:
современные любовные романы
рейтинг книги
Черный Маг Императора 11
11. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
фэнтези
рейтинг книги
Черный Маг Императора 6
6. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
рейтинг книги
Адвокат Империи 11
Адвокат империи
Фантастика:
городское фэнтези
альтернативная история
рпг
дорама
попаданцы
рейтинг книги
Излом
10. Последняя жизнь
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Туполев
1327. Жизнь замечательных людей
Документальная литература:
биографии и мемуары
рейтинг книги
Корсар
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
рейтинг книги
Адвокат Империи 2
2. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
рейтинг книги
Я Гордый Часть 3
3. Стальные яйца
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Север помнит
Любовные романы:
любовно-фантастические романы
рейтинг книги