Lsof – узнаем какие файлы используются процессами, и наоборот.

При помощи утилиты lsof можно легко и быстро узнать какой процесс использует тот или иной файл в данный момент.

Простой запуск выведет в консоль очень много лишней информации.

m0rf@gentoo: # lsof
COMMAND     PID    USER   FD      TYPE     DEVICE  SIZE/OFF       NODE NAME
init          1    root  cwd       DIR        3,3      4096          2 /
init          1    root  rtd       DIR        3,3      4096          2 /
init          1    root  txt       REG        3,3     35000    2859027 /sbin/init
init          1    root  mem       REG        3,3   1311004    5275813 /lib/libc-2.9.so
init          1    root  mem       REG        3,3    117196    5275816 /lib/ld-2.9.so
init          1    root   10u     FIFO       0,11       0t0       5349 /dev/initctl
kthreadd      2    root  cwd       DIR        3,3      4096          2 /

Чтобы легче было найти интересующий нас фай или процесс отсеив “мусор”, воспользуемся командой grep, которая отфильтрует вывод.

m0rf@gentoo: # lsof |grep '/var/log/samba/'
smbd       2327    root    2w      REG        3,3    40045    4907102 /var/log/samba/log.smbd
smbd       2327    root    5w      REG        3,3    40045    4907102 /var/log/samba/log.smbd
smbd       2331    root    2w      REG        3,3    40045    4907102 /var/log/samba/log.smbd
smbd       2331    root    5w      REG        3,3    40045    4907102 /var/log/samba/log.smbd
nmbd       2337    root    2w      REG        3,3   176073    4908614 /var/log/samba/log.nmbd
nmbd       2337    root    3w      REG        3,3   176073    4908614 /var/log/samba/log.nmbd

Теперь мы знаем какие процессы работают с логфайлами в каталоге samba.

Но на этом возможности lsof не ограничиваются. Lsof может нам показать список с названием процессов + номером порта, протокола, и адресом интерфейса на котором они висят.


m0rf@gentoo: # lsof -i -n -P
COMMAND   PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
apache2  1636  apache    3u  IPv4   8378      0t0  TCP 127.0.0.1:80 (LISTEN)
apache2  1650  apache    3u  IPv4   8378      0t0  TCP 127.0.0.1:80 (LISTEN)
apache2  1665  apache    3u  IPv4   8378      0t0  TCP 127.0.0.1:80 (LISTEN)
apache2  1666  apache    3u  IPv4   8378      0t0  TCP 127.0.0.1:80 (LISTEN)
apache2  1667  apache    3u  IPv4   8378      0t0  TCP 127.0.0.1:80 (LISTEN)
apache2  1668  apache    3u  IPv4   8378      0t0  TCP 127.0.0.1:80 (LISTEN)
smbd     2327    root   18u  IPv4 153351      0t0  TCP 192.168.1.1:445 (LISTEN)
smbd     2327    root   19u  IPv4 153352      0t0  TCP 192.168.1.1:139 (LISTEN)

-i Вклчение режима вывода IP информации
-n Не преобразовывать IP адреса в доменные (127.0.0.1 – localhost)
-P Не преобразовывать номер порта в его стандартное название. (22 – SSH)

Установка в Gentoo:

m0rf@gentoo: # emerge -av lsof

Мир всем местным!

Tags: , , ,

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">