Cуперкомпьютеры: администрирование - страница 37

Шрифт
Интервал


Состояние >zombie возникает, когда процесс завершился, но его родитель «не подтвердил» это (не вызвал системный вызов >wait). Это делается для того, чтобы родительский процесс мог получить данные о том, как завершился процесс. т. е. процессы в состоянии >zombie уже не потребляют никаких ресурсов ни процессора, ни памяти. По этой же причине их нельзя принудительно завершить – они уже завершены.

Родительский процесс (>PPID) есть у каждого процесса в системе, если родительский процесс завершился, то им становится процесс с >PID 1 (обычно это специальный процесс >init в системе, мы про него поговорим ниже), который выполняет >wait для всех таких процессов.

Посмотреть список процессов и их состояние можно с помощью команды >ps. У неё нелёгкая судьба, т. к. в разных вариантах популярных ОС (Unix, BSD, Solaris) исторически у неё было много разных, в том числе конфликтующих опций. В результате в Linux используется вариант GNU, который пытается их сочетать. В частности, есть опции, которые обязательно надо указывать с минусом впереди, а другие – наоборот только без минуса. Ниже самые полезные с нашей точки зрения:



К большинству комбинаций можно добавить w, тогда поле имени процесса (обычно программа с аргументами) будет шире. Если добавить дважды, то будет ещё шире, а если трижды, то ограничений на ширину не будет совсем.

Бывает удобно отслеживать активность процессов в реальном времени. Тут помогут команды >top и более новомодная >htop. Они показывают процессы в виде таблицы, отсортированной по одному полю, и обновляют её раз в 5 секунд (можно поменять интервал). При этом показываются только те процессы, которые поместились на экране, плюс некоторые общие данные о системе – загрузка процессора, памяти, loadaverage, число процессов в разных состояниях.

Можно переключать режимы отображения и сортировки. Для >top есть несколько горячих клавиш, их список можно получить, нажав 'h'. Наиболее удобные варианты сортировки и команды:

>+

 – сортировать процессы по использованию процессора;

>+ – сортировать процессы по использованию памяти;

>1 – показывать загрузку каждого ядра или суммарную;

>k – послать сигнал процессу;

>r – изменить приоритет процесса;

>u – фильтровать по пользователю;

>q – выход.

У >htop более дружественный интерфейс, по возможности она использует цветной вывод, загрузку процессора и памяти выводит в виде текстовых прогресс-баров, умеет организовывать процессы в деревья (и схлопывать их с одну строку, что иногда очень удобно). Клавиши управления выведены в нижней строке в стиле Norton Commander (Midnight Commander/FAR manager).