lsof
Утилита lsof (от англ. List Open Files) — инструмент командной строки Linux, предназначенный для отображения информации о файлах, которые в данный момент используются процессами в ОС.
10 примеров использования команды lsof в Linux
Утилита lsof по умолчанию выводит следующую информацию о каждом файле:
Описание полей вывода
COMMAND | название процесса или команды, которая использует файл |
PID | идентификатор процесса |
USER | пользователь, которому принадлежит процесс |
FD | дескриптор файла (например, cwd — текущий рабочий каталог, txt — исполняемый код, mem — отображенные в память файлов, rtd — корневой каталог) |
TYPE | тип файла или объекта файловой системы (например, REG — обычный файл, DIR — каталог, и другие) |
DEVICE | мажорный и минорный номера устройства, на котором находится файл |
SIZE/OFF | размер файла или значение смещения в нем |
NODE | номер индексного дескриптора (inode) |
NAME | абсолютный путь к файлу |
Запуск команды lsof
Команда | Описание |
---|---|
lsof | Вывод на экран всех открытых файлов в ОС |
lsof -u user | Отображение файлов, используемых конкретным пользователем |
lsof -i | Поиск процессов, которые прослушивают сетевые порты |
lsof -i -u user | Вывод файлов, открытых процессами определенного пользователя, которые используют сетевые соединения |
lsof -i -u ^root | Исключение файлов определенного пользователя |
lsof -i <port-type>:<port-number> | Поиск процессов, работающих на определенном сетевом порту <port-type> — тип сетевого протокола, связанного с портом (TCP или UDP);<port-number> — номер сетевого порта. |
lsof -i TCP:22 | |
lsof -i TCP:80 | |
lsof -i <port-type>:<start-port>-<end-port> | Просмотр процессов, работающих на сетевых портах определенного диапазона |
lsof -i TCP:22-1024 | |
lsof -i 4 | Поиск процессов, использующих сетевые соединения IPv4 и IPv6 |
lsof -i 6 | процессы, которые обмениваются данными по сети IPv6, |
lsof -p 1 | Вывод списка файлов, используемых определенным процессом |
lsof -t -u user | Идентификаторы процессов, запущенных конкретным пользователем. |
kill -9 $(lsof -t -u user) | Завершение всех процессов пользователя |