Операционная система Linux




Запуск дочерних процессов - часть 4


Пример 5.4. Разделение времени между процессами

Оказалось, что дерутся даже не два процесса, а три: sh (первый из запущенных интерпретаторов loop), bash (второй) и сам top. Правда, по сведениям из поля %CPU, львиную долю процессорного времени отобрали sh и bash (они без устали вычисляют!), а top довольствуется десятой долей процента (а то и меньшей: ошибки округления). Стартовый bash вообще не хочет работать, он спит (значение "S", Sleep, поля STAT, status): ждет завершения активного процесса, top.

Увидев такое разнообразие информации, Мефодий кинулся читать руководство по top, однако скоро понял, что без знания архитектуры Linux большая его часть не имеет смысла. Впрочем, некоторая часть все же понятна: объем оперативной памяти (всей, используемой и свободной), время работы машины, объем памяти, занимаемой процессами, и т. п.

Последний процесс, запущенный из оболочки в фоне, можно из этой оболочки сделать активным при помощи команды fg ("foreground" – "передний план"):

[methody@localhost methody]$ fg bash loop ^C

Пример 5.5. Перевод фонового процесса в активное состояние с помощью команды fg (foreground)

Услужливый bash даже написал командную строку, которой был запущен этот процесс: "bash loop". Мефодий решил "убить" его с помощью управляющего символа "^C". Теперь последним запущенным в фоне процессом стал sh, выполняющий сценарий loop.




Содержание  Назад  Вперед