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


23

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


Ответы:


25

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

strace -e trace=open program [arguments]

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

2
Обратите внимание, что сигнал, который вам нужен, может быть openat.
merlinND

6

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

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


1
Отладка, какие файлы конфигурации читаются приложением
Питер Смит
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.