Як відстежувати всі файли, які відкриває процес протягом його життя


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

Я не впевнений, що я зрозумів, що саме ви хочете зробити з цим. Але, чи вважали ви страйсом? Він відображає всі системні дзвінки, включаючи файли.

РЕДАКТУВАННЯ: Не забувайте варіант -f, який дозволяє слідувати роздвоєним процесам.


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