Заголовок: Можно ли получить полный список файлов, которые открывались процессом за всё время его работы?Просто заглянуть в /proc/id/fd кажется недостаточно: мало того что данные представлены в неудобном виде, так там же дескрипторы только открытых в данный момент файлов. А какой-то конфиг открывается, считывается и сразу закрывается.
Есть какое-то тривиальное решение?P.S. Как же я "люблю" когда линуксовые (да и современные виндовые тоже) размазывают свои файлы по всей ФС. И где их потом искать? Да, есть десяток "стандартных" мест где они могут храниться под абсолютно произвольными названиями. Но искать то, не знаю что, это просто фу какое-то.
P.P.S. Кто ввёл настолько жуткие ограничения на длину заголовка? Жесть какая-то.
логи auditd (типа поиздеваться с помощью apparmor: все запретить, а запустить с complain), или запуск под strace, как пример
можно еще что-то из отслеживающего inotify события (но вспомнить не могу)
Поигрался с strace, но он малопригоден для моей задачи: он реально показывает каждый сисвызов. Это хренова куча обсолютно неперевариваемой фигни. А ограничить одним лишь open не получилось: получается слишком мало данных. Беда в том что я ещё и виндовую программу через wine пытаюсь запустить. Уверен это делу совсем не помогает :(Ладно, я наверное слишком полезное что-то хочу. А так не бывает.
strace же подхватывает треды процесса, а не порождаемые процессы (но точно не скажу). Ты скорее получил вызовы open самого wine, а не дочернего процесса.а что насчет использования WINEDEBUG?
>подхватывает треды процесса, а не порождаемые процессы-f должно помочь. Наверное.
>WINEDEBUG?
Про эту штуку я не знал. Сейчас попробовал, но это тихий ужас. Он мне вывалил обращения ко всякой вайновской хренотени, там разобраться невозможно. Но немного лучше чем strace.
В общем овчинка выделки не стоит. Проще забить.
Можно натравить strace конкретно на файловые операции (-e file) и залогировать все процессы на диск, потом грепать. Я так делаю. Ещё можно через ld_preload перехватить все открытия файлов, и записывать их как хочется и куда хочется, только у меня что-то хромиум отказался работать когда я перехватил open64() -- с остальными проблем не было. Так и не смог отладить.