The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Список файлов, которые открывались процессом за всё время?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на рабочей станции (Пакетные менеджеры / Linux)
Изначальное сообщение [ Отслеживать ]

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

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

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

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Аноним (1), 10-Апр-20, 13:18   +/
логи auditd (типа поиздеваться с помощью apparmor: все запретить, а запустить с complain), или запуск под strace, как пример
можно еще что-то из отслеживающего inotify события (но вспомнить не могу)


Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2

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

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


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #3

3. Сообщение от Аноним (3), 10-Апр-20, 19:15   +/
strace же подхватывает треды процесса, а не порождаемые процессы (но точно не скажу). Ты скорее получил вызовы open самого wine, а не дочернего процесса.

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


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #4

4. Сообщение от A.Stahl (ok), 10-Апр-20, 19:27   +/
>подхватывает треды процесса, а не порождаемые процессы

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

>WINEDEBUG?

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

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


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

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


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру