Linux - Отображение информации о процессе

Команда ps является одним из инструментов для визуализации процессов. Эта команда имеет несколько параметров, которые можно комбинировать для отображения различных атрибутов процесса.

Без указания опций, ps предоставляет только информацию о текущей оболочке и возможных процессах:

theo: ~> ps PID TTY TIME CMD 4245 pts / 7 00:00:00 bash 5314 pts / 7 00:00:00 ps

Поскольку это не дает достаточно информации - как правило, в вашей системе запущено не менее ста процессов - мы обычно выбираем конкретные процессы из списка всех процессов, используя команду grep в конвейере , см. Раздел 5.1.2.1 , как в этой строке, которая будет выбирать и отображать все процессы, принадлежащие конкретному пользователю:

ps -ef | grep username

В этом примере показаны все процессы с именем процесса bash , самой распространенной оболочки входа в систему в системах Linux:

theo:> ps auxw | grep bash brenda 31970 0,0 0,3 6080 1556 tty2 S 23 февраля 0:00 -bash root 32043 0,0 0,3 6112 1600 tty4 S Feb23 0:00 -bash theo 32581 0,0 0,3 6384 1864 пункта / 1 S 23 февраля 0:00 Bash Theo 32616 0,0 0,3 6396 1896 pts / 2 S Feb23 0:00 bash theo 32629 0.0 0.3 6380 1856 pts / 3 S Feb23 0:00 bash theo 2214 0.0 0.3 6412 1944 pts / 5 S 16:18 0:02 bash theo 4245 0.0 0.3 6392 1888 pts / 7 S 17:26 0:00 bash theo 5427 0,0 0,1 3720 548 баллов / 7 S 19:22 0:00 grep bash

В этих случаях строки поиска команды grep, содержащие строку bash , также часто отображаются в системах, где много времени простоя. Если вы не хотите, чтобы это произошло, используйте команду pgrep .

Оболочки Bash являются особым случаем: этот список процессов также показывает, какие из них являются оболочками входа в систему (где вы должны указать свое имя пользователя и пароль, например, когда вы входите в текстовый режим или выполняете удаленный вход в систему, в отличие от оболочек без входа в систему, запустил, например, щелкнув значок окна терминала). Таким логинам предшествует тире (-).

Команда ps является одним из инструментов для визуализации процессов|?

Мы расскажем о | Оператор в следующей главе, см. Глава 5 ,

Больше информации можно найти обычным способом: ps --help или man ps . GNU PS поддерживает различные стили форматов опций; Приведенные выше примеры не содержат ошибок.

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

12:40 до 9 дней, 6:00, 4 пользователя, средняя загрузка: 0,21, 0,11, 0,03 89 процессов: 86 спящих, 3 запущенных, 0 зомби, 0 остановленных состояний ЦП: 2,5% пользователь, 1,7% система, 0,0% приятно , 95.6% бездействия Память: 255120K av, использовано 239412K, 15708K свободно, 756K shrd, 22620K buff Swap: 1050176K av, 76428K использовано, 973748K свободно, 82756K кэшировано 0 91572 15M 11580 R 1.9 6.0 7:53 X 19599 jeff 14 0 1024 1024 796 R 1.1 0,4 0:01 top 19100 jeff 9 0 5288 4948 3888 R 0,5 1,9 0:24 терминал гнома 19328 jeff 9 0 37884 36M 14724 S 0,5 14.8 1:30 mozilla-bin 1 root 8 0 516 472 464 S 0.0 0.1 0:06 init 2 root 9 0 0 0 0 SW 0.0 0.0 0:02 keventd 3 root 9 0 0 0 0 SW 0.0 0.0 0:00 kapm- бездействующий 4 root 19 19 0 0 0 SWN 0.0 0.0 0:00 ksoftirqd_CPU0 5 root 9 0 0 0 0 SW 0.0 0.0 0:33 kswapd 6 root 9 0 0 0 0 SW 0.0 0.0 0:00 kreclaimd 7 root 9 0 0 0 0 SW 0.0 0.0 0:00 bdflush 8 root 9 0 0 0 0 SW 0.0 0.0 0:05 kupdated 9 root -1-20 0 0 0 SW <0.0 0.0 0:00 mdrecoveryd 13 root 9 0 0 0 0 SW 0.0 0.0 0:01 kjournald 89 root 9 0 0 0 0 SW 0.0 0.0 0:00 khubd 219 root 9 0 0 0 0 SW 0.0 0.0 0:00 kjournald 220 root 9 0 0 0 0 SW 0.0 0.0 0:00 kjournald

Первая строка top содержит ту же информацию, которая отображается командой uptime :

jeff: ~> время работы 3:30 вечера, до 12 дней, 23:29, 6 пользователей, средняя загрузка: 0,01, 0,02, 0,00

Данные для этих программ хранятся среди прочих в / var / run / utmp (информация о подключенных в данный момент пользователях) и в виртуальной файловой системе / proc, например / proc / loadavg (информация о средней загрузке). Существуют всевозможные графические приложения для просмотра этих данных, такие как и lavaps . Более чем Свежее мясо а также SourceForge Вы найдете десятки приложений, которые централизуют эту информацию вместе с другими данными сервера и журналами с нескольких серверов на одном (веб) сервере, что позволяет осуществлять мониторинг всей ИТ-инфраструктуры с одной рабочей станции.

Отношения между процессами можно визуализировать с помощью команды pstree :

sophie: ~> pstree init - + - amd | -apmd | -2 * [artsd] | -atd | -crond | -deskguide_apple | -eth0 | -gdm --- gdm - + - X | `-gnome-сессия - + - Gnome | | -сш-агент | `-true | -geyes_applet | -gkb_applet | -gnome-name-serv | -gnome-smproxy | -gnome-терминал - + - bash --- vim | | -bash | | -bash --- pstree | | -bash --- ssh | | -bash --- mozilla-bin --- mozilla-bin --- 3 * [mozilla-bin] | `-gnome-pty-helper | -gpm | -gweather | -kapm-idled | -3 * [kdeinit] | -keventd | -khubd | -5 * [kjournald] | -klogd | -lockd --- rpciod | - lpd | -mdrecoveryd | -6 * [mingetty] | -8 * [nfsd] | -nscd --- nscd --- 5 * [nscd] | -ntpd | -3 * [oafd] | -panel | -portmap | -rhnsd | -rpc.mountd | -rpc.rquotad | -rpc.statd | -sawfish | -screenshooter_a | -sendmail | -sshd --- sshd --- bash --- su --- bash | -syslogd | - tasklist_applet | -vmnet-bridge | -xfs `-xinetd-ipv6

Опции -u и -a дают дополнительную информацию. Для получения дополнительных возможностей и что они делают, обратитесь к страницам.

В следующем разделе мы увидим, как один процесс может создать другой.