Как к программам мониторинга, которые пишут в определенные файлы?

Мне любопытно, как я могу показывать/контролировать файлы, что программа пишет в через командную строку? Я понимаю, что определенные процессы полагаются на определенные файлы для функционирования, но как делают я знаю, какие файлы эти процессы используют. Позволяет говорят, что я хочу видеть, в какие файлы сервис сопоставителя DNS пишет, я знаю, что ответ является/etc/resolv.conf, но как я могу проверить это?

0
задан 14 March 2017 в 02:18

2 ответа

Эти lsof списки команд открывают файлы для каждого процесса. Количество открытых файлов в любой момент будет огромно, таким образом, Вы захотите быть немного конкретными.

  • , Если Вы знаете идентификатор процесса, сделайте sudo lsof -p <pid>.

  • , Если Вы знаете каталог, в котором расположены файлы, сделайте sudo lsof +D <directory>.

существует намного больше опций. См. man lsof. Без sudo можно только видеть файлы, открытые процессами, которыми Вы владеете сами.

1
ответ дан 3 November 2019 в 15:15

Можно использовать strace для контроля каждого системного вызова, который процесс делает, включая вводные файлы и для чтения и для записи.

strace процессы большой вывод. Вы можете grep вывод для open для рассмотрения просто вызовов к open files.

См. man strace для деталей. Обратите внимание, что это -f опция, если необходимо проследить процесс, это разветвляется.

0
ответ дан 3 November 2019 в 15:15

Другие вопросы по тегам:

Похожие вопросы: