Как отследить все файлы, которые процесс открывает за время своего существования

23

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

Питер Смит
источник

Ответы:

25

Используя команду strace, это может быть возможно с чем-то вроде:

strace -e trace=open program [arguments]
slubman
источник
Это покажет все файлы, к которым пытался получить доступ процесс . Можно подумать, что что-то подобное strace -e trace=open program [arguments] | grep -v ' = -1 ENOENT'может улучшить ситуацию, но это тоже не так. Последний не сможет обнаружить незаконченные, а затем возобновит звонки open.
Facetus
2
Обратите внимание, что сигнал, который вам нужен, может быть openat.
merlinND
6

Я не уверен, что понял, что вы хотите с этим делать. Но вы рассматривали Strace? Он отображает все системные вызовы, включая файлы.

РЕДАКТИРОВАТЬ: Не забывайте параметр -f, который позволяет вам следить за разветвленными процессами.

Антуан Бенкемун
источник
1
Отладка, какие файлы конфигурации читаются приложением
Питер Смит