Perl для системного администрирования



Отслеживание операций с файлами и сетью - часть 6


/!jsr/::.t; libc.so.1

netscape 21065 dnb txt VREG 32.6 105788 5849

/usr/ln; libm.so.1

netscape 21065 dnb txt VREG 32,6 721924 5806

netscape 21065 ar.b txt VREG 32 6 156196 5774

netscape 21065 ri^t 0. VCHP 2-1.3 Ot73 5853 > .

pseudo/bls@C:3-> ttcoirpat ->lcter"b>:neii->pis netscape 21065 dnb 3u VCHR 13,12 oto 5821

/devices/ pseudo/mm@0:zero

netscape 21065 dnb 7u FIFO Ox6034d264 C;1 47151 PIPE-> Ox6034d1eO

netscape 21065 dnb 8u met Ox6084cb68 Oxfb210er, TCP host. cos.

ne^.. edu:46575->host2.ccs,neu. edu:6000 (ESTABLISHED)

netscape 21065 dnb 29u met 0x60642848 Ot215868 TCP nost, ccs. re.. edu:46758->

www.mind-bright.se:80 (CLOSE_ WAIT)

Из этого примера можно понять, насколько мощна эта команда. Мы можем увидеть текущий рабочий каталог (VDIR), обычные файлы (VREG), символьные устройства (VCHR), каналы (FIFO) и сетевые соединения (inet), открытые этим процессом.

Самый простой способ применить программу Isof из Perl - вызвать ее в специальном режиме «field» (-F). В этом режиме вывод программы делится на специальным образом отмеченные и разделенные поля, вместо использования колонок в стиле ps. Это позволяет надежно проанализировать и распознать вывод.

У этого способа вывода результатов есть одна особенность. Вывод организован в виде «наборов процессов» (process sets) и «наборов файлов» (file sets), как их называет автор. Набор процессов - это набор полей, относящихся к одному процессу; набор файлов - это подобный же набор для файла. Все приобретет больший смысл, если включить режим разбивки на поля с параметром 0. В этом случае поля будут разделены символом NUL (ASCII 0), а наборы - символом NL (ASCII 12). Вот как будет выглядеть предыдущий вариант вывода команды, если использовать режим разбивки на поля (NUL представлен в виде символов ~@):

p21065~@cnetscape~@u6700"@Ldnb~@

fcwd"@a ~@1 "@tVDIR"@DOx2bOOb4b"@s8192"@i12129"@n/home/dnb"@

ftxt"@a ~@1 >tVREG"@DOx2b004de"@s14382364"@i656749"@n/net/arch-solaris (fileserver:/vol/systems/arch-solaris)"@




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