LINUX.ORG.RU
ФорумAdmin

как промониторить процесс на предмет открытых файлов


0

2

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

★★

$ strace -e trace=open touch test.test
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
open("test.test", O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK|O_LARGEFILE, 0666) = 3
+++ exited with 0 +++
Lavos ★★★★★
()
Ответ на: комментарий от Lavos

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

v4567 ★★
() автор топика
Ответ на: комментарий от v4567

man strace, сучёныш, или скажи в отделе кадров, что ты неспособен там опцию -p вычитать, и тебя надо уволить по инвалидности.

anonymous
()
Ответ на: комментарий от v4567

это не оскорбление, это комплимент

anonymous
()
Ответ на: комментарий от v4567

через некоторое время работы он открывает некоторые файлы, вот мне надо узнать какие и вообще открывает он их или нет

Сделай обёртку над open и смотри.

Хотя, если уже на запущенном, то наверное только отладчиком.

false ★★★★★
()
Последнее исправление: false (всего исправлений: 1)
Ответ на: комментарий от false

Сделай обёртку над open и смотри.

почему я никогда до этого не догадывался.. не в данной ситуации, а вообще. мысль то дельная весьма.

AndreyKl ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.