Назад | Перейти на главную страницу

Любой простой способ узнать, какой процесс создает файлы в указанном каталоге?

У меня есть ssh-доступ суперпользователя к стороннему серверу ubuntu 14.10 с неправильной конфигурацией: какой-то процесс создает много временных файлов в каталоге (и не очищает их, медленно истощая лимит inode). Есть ли простой способ узнать, какой именно процесс создает файлы? Я предполагаю, что только один процесс добавляет файлы в этот каталог, и изначально каталог является пустым (я могу его очистить). Конечно, я могу предположить, что это какой-то процесс nginx, выполняющий PHP-код, или какой-то демон Python, но это наверняка сэкономит мне много времени.

Если процесс все еще запущен и файл открыт, «lsof» сообщит вам его идентификатор процесса. Если это более непостоянно, вы можете использовать inotify, чтобы «наброситься» на только что созданный файл: этот набор инструментов есть кое-что из пользовательского пространства, которое вы можете обернуть в сценарий оболочки, и несколько достойных примеров.

Надеюсь, вы пробовали поискать в файлах - кто знает, какие ключи могут быть там?

Или вы можете использовать жирный - услужливо обнаружено первоначальным вопрошающим - приятно сыграно! Кажется, что обернуть функциональность типа inotify / lsof, что удобно.