Утилита lsof (List Open Files) помогает в диагностике проблем с использованием файловых дескрипторов в Linux, предоставляя информацию о файлах, открытых в системе. 2
Некоторые способы, как это происходит:
- Поиск открытых файлов приложения. 1 С помощью lsof можно узнать, какие файлы открывает приложение и, возможно, их количество. 1 Это полезно, например, когда нужно выяснить, куда приложение записывает данные, или отследить проблему. 1
- Проверка количества открытых файлов. 1 В UNIX есть ограничение на количество файлов, которые может открыть процесс. 1 Если есть подозрение, что у приложения заканчивается количество файловых дескрипторов, lsof позволяет посчитать количество открытых файлов. 1
- Восстановление удалённых файлов. 1 Когда процесс открывает файл, он существует на диске, даже если удалён, пока процесс держит файл открытым. 1 Это значит, что процесс не знает, что файл удалён, и всё ещё может читать и писать в дескриптор файла, который ему был предоставлен при открытии файла. 1
- Мониторинг сетевых подключений. 24 С помощью lsof можно, например, посмотреть на TCP-соединения, открытые клиентом Slack или Dropbox. 4
Таким образом, lsof позволяет узнать, какие процессы обращаются к каким файлам, что полезно в ряде сценариев, включая диагностику проблем с использованием ресурсов, отладку приложений, открывающих несколько файлов, и управление блокировками файлов и разрешениями. 2