Книга: Linux глазами хакера

3.4.3. Просмотр процессов

3.4.3. Просмотр процессов

С помощью команды jobs вы можете увидеть только запущенные вами процессы. Чтобы полюбопытствовать, чем занимаются остальные пользователи в системе, нужно выполнить команду ps. Если запустить ее без параметров, то результат на экране будет примерно следующий:

PID TTY TIME CMD
1652 tty1 00:00:00 bash
1741 tty1 00:00:00 ps

Перед нами четыре колонки, которые показывают идентификатор процесса, терминал, на котором запущена программа, время работы и выполняемая команда.

Это далеко не полный список. Чтобы увидеть все процессы, следует выполнить команду ps с ключом -a. Но и это еще не весь перечень, потому что отобразятся только программы своего терминала. Если требуется полный список процессов, запущенных со всех терминалов, то нужно добавить ключ . Помимо этого, вы можете пожелать увидеть имя пользователя, под которым работает процесс, для этого добавьте ключ -u. В итоге, исчерпывающую информацию можно получить, выполнив команду:

ps -axu

Результат работы будет таков:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root   1 0.0  0.1 1376 452 ?   S    14:25 0:05 init
root   2 0.0  0.0    0   0 ?   SW   14:25 0:00 [keventd]
root   3 0.0  0.0    0   0 ?   SW   14:25 0:00 [kapmd]
root   5 0.0  0.0    0   0 ?   SW   14:25 0:00 [kswapd]
root   6 0.0  0.0    0   0 ?   SW   14:25 0:00 [bdflush]
root   7 0.0  0.0    0   0 ?   SW   14:25 0:00 [kupdated]
root 530 0.0  0.1 1372 436 ?   S    14:25 0:00 klogd -x
rpc  550 0.0  0.2 1516 540 ?   S    14:25 0:00 portmap

Колонка STAT показывает состояние процесса. Здесь можно встретить следующие коды:

? S (Sleeping) — спящий, это нормальное состояние для сервисов, которые просыпаются только на редкие запросы клиентов;

R (Runnable) — исполняемый в данный момент;

T (Traced or Stopped) — в состоянии отладки или остановлен;

Z (Zombied) — зависший. Такие можно смело убивать;

W — не имеет резидентных страниц;

< — обладает высоким приоритетом;

? N — имеет низкий приоритет.

Это основные состояния, которые вы можете увидеть у процессов в своей системе.

Если в колонке стоит вопросительный знак, то это означает, что процесс запущен еще на этапе загрузки системы и не принадлежит какому-либо терминалу.

Это всего лишь небольшой фрагмент файла. В реально работающей системе процессов очень много, и даже при минимальном количестве запущенных сервисов может не хватить одного экрана для отображения всех. Я люблю сохранять результат работы в текстовый файл, а потом спокойно изучать его в любом редакторе. Для этого я выполняю команду:

ps -axu >> ps.txt

Чтобы увидеть, чем в данный момент занимаются другие пользователи, можно выполнить команду w. В результате вы получите на экране приблизительно такую картину:

10:59am up 37 min, 2 users, load average: 0.00, 0.00, 0.00
USER   TTY FROM LOGIN@  IDLE  JCPU  PCPU  WHAT
root   tty1 -   10:24am 0.00s 0.82s 0.05s w
flenov tty2 -   10:39am 8:13  0.85s 0.03s grotty

Из данного примера понятно, что в системе находятся два пользователя. На первом терминале работает пользователь root, а на втором — flenov. Очень удобно определять по списку, когда пользователь вошел в систему (колонка LOGIN@) и что делает в данный момент (колонка WHAT).

Посмотрите на столбцы JCPU и PCPU, по ним можно оценить загрузку системы. Если ваш компьютер начал работать слишком медленно, то можно увидеть, какой процесс отнимает много процессорного времени.

Команда ps выводит статическую информацию. Для наблюдения за нагрузкой системы удобнее использовать программу top. Она отображает список процессов, отсортированный по убыванию в зависимости от нагрузки (рис. 3.4). Таким образом, вы можете увидеть, какой сервис или программа отнимает драгоценные ресурсы и не дает нормально работать с компьютером.


Рис. 3.4. Результат работы программы top

Если мой компьютер начинает "тормозить", или работа замедляется через определенные промежутки времени, то я запускаю top в отдельном терминале и по мере необходимости переключаюсь на него, чтобы увидеть нагрузку процессов.

Вверху окна выводится количество пользователей, общая загрузка системы и статистика процессов: общее количество, спящие, выполняемые, зависшие и остановленные.

Помимо этого, можно увидеть краткий отчет по использованию памяти: количество занятой и свободной оперативной памяти и размер раздела подкачки. В моем случае в компьютере установлено 256 Мбайт памяти, и из них свободно только 7 Мбайт, а раздел подкачки пока не используется. Такое малое количество свободной памяти говорит о том, что не помешало бы ее нарастить. Чем меньше компьютер использует swap-файл, тем лучше он работает. Конечно, пока что этот файл практически не используется, но если перейти в графический режим и запустить пару мощных приложений, то и Swap-раздела не хватит.

Программа top будет выводить информацию о загрузке процессора с определенным интервалом времени. Для выхода из программы нажмите комбинацию клавиш <Ctrl>+<C>.

Оглавление книги


Генерация: 0.786. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз