Утилита 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 -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) | Завершение всех процессов пользователя |