URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID15
Нить номер: 4597
[ Назад ]

Исходное сообщение
"Список файлов, которые открывались процессом за всё время?"

Отправлено A.Stahl , 10-Апр-20 08:17 
Заголовок: Можно ли получить полный список файлов, которые открывались процессом за всё время его работы?

Просто заглянуть в /proc/id/fd кажется недостаточно: мало того что данные представлены в неудобном виде, так там же дескрипторы только открытых в данный момент файлов. А какой-то конфиг открывается, считывается и сразу закрывается.
Есть какое-то тривиальное решение?

P.S. Как же я "люблю" когда линуксовые (да и современные виндовые тоже) размазывают свои файлы по всей ФС. И где их потом искать? Да, есть десяток "стандартных" мест где они могут храниться под абсолютно произвольными названиями. Но искать то, не знаю что, это просто фу какое-то.

P.P.S. Кто ввёл настолько жуткие ограничения на длину заголовка? Жесть какая-то.


Содержание

Сообщения в этом обсуждении
"Список файлов, которые открывались процессом за всё время?"
Отправлено Аноним , 10-Апр-20 13:18 
логи auditd (типа поиздеваться с помощью apparmor: все запретить, а запустить с complain), или запуск под strace, как пример
можно еще что-то из отслеживающего inotify события (но вспомнить не могу)



"Список файлов, которые открывались процессом за всё время?"
Отправлено A.Stahl , 10-Апр-20 13:56 
Поигрался с strace, но он малопригоден для моей задачи: он реально показывает каждый сисвызов. Это хренова куча обсолютно неперевариваемой фигни. А ограничить одним лишь open не получилось: получается слишком мало данных. Беда в том что я ещё и виндовую программу через wine пытаюсь запустить. Уверен это делу совсем не помогает :(

Ладно, я наверное слишком полезное что-то хочу. А так не бывает.



"Список файлов, которые открывались процессом за всё время?"
Отправлено Аноним , 10-Апр-20 19:15 
strace же подхватывает треды процесса, а не порождаемые процессы (но точно не скажу). Ты скорее получил вызовы open самого wine, а не дочернего процесса.

а что насчет использования WINEDEBUG?



"Список файлов, которые открывались процессом за всё время?"
Отправлено A.Stahl , 10-Апр-20 19:27 
>подхватывает треды процесса, а не порождаемые процессы

-f должно помочь. Наверное.

>WINEDEBUG?

Про эту штуку я не знал. Сейчас попробовал, но это тихий ужас. Он мне вывалил обращения ко всякой вайновской хренотени, там разобраться невозможно. Но немного лучше чем strace.

В общем овчинка выделки не стоит. Проще забить.



"Список файлов, которые открывались процессом за всё время?"
Отправлено Аноним , 12-Апр-20 22:51 
Можно натравить strace конкретно на файловые операции (-e file) и залогировать все процессы на диск, потом грепать. Я так делаю. Ещё можно через ld_preload перехватить все открытия файлов, и записывать их как хочется и куда хочется, только у меня что-то хромиум отказался работать когда я перехватил open64() -- с остальными проблем не было. Так и не смог отладить.