Как узнать, какие файлы выполняются при открытии приложения?

Я хочу знать, что происходит за экраном, когда я открываю какое-то приложение. Например, когда я открываю firefox, я хочу знать, какие файлы читаются, а какие исполняются. Есть какой-либо способ сделать это. Даже открытие firefox из терминала не показывает никакой информации. ОС: Ubuntu 12.04

12
задан 12 September 2013 в 19:57

2 ответа

Используйте strace !

Пример: список всех файлов, открытых Firefox во время сеанса:

strace -f firefox 2>&1 | grep 'open('

Результат будет примерно таким, если вы откроете второй экземпляр FireFox: http://pastebin.com/iRqxgiWN (Опция '-f' только заставляет strace follow forks.)

Пример 2: Список всех процессов, выполняемых FireFox:

strace -f firefox 2>&1 | grep -P 'exec[vlpe]*\('
[ 1119] Результат выглядит примерно так при посещении YouTube:

[pid 25020] execve("/usr/lib/firefox/plugin-container", ["/usr/lib/firefox/plugin-containe"..., "/usr/lib/adobe-flashplugin/libfl"..., "-greomni", "/usr/lib/firefox/omni.ja", "-appomni", "/usr/lib/firefox/browser/omni.ja", "-appdir", "/usr/lib/firefox/browser", "15198", "false", "plugin"], [/* 57 vars */]) = 0
[pid 25024] execve("/bin/sh", ["sh", "-c", "ps x | grep netscape"], [/* 57 vars */]) = 0
[pid 25025] execve("/bin/ps", ["ps", "x"], [/* 57 vars */] <unfinished ...>
[pid 25026] execve("/bin/grep", ["grep", "netscape"], [/* 57 vars */]) = 0

Вы можете сделать это и со многими другими системными вызовами ...

Сопоставляя параметры open() в поиске grep, вы также можете узнать, в каком режиме был открыт файл:

Просто добавьте | grep -P 'O_RDONLY|O_RDWR' (символ начального канала важен! ) для фильтрации доступа на чтение или | grep -P 'O_WRONLY|O_RDWR' для доступа на запись к вашей команде ...

РЕДАКТИРОВАТЬ :

Как уже упоминалось в комментариях, вы также можете использовать strace -fe open firefox для просмотра списка всех файлов, открытых FireFox. Вы также можете использовать strace -fe trace=file firefox для перечисления всех файловых операций, выполненных FireFox, которые имеют путь к файлу в качестве аргумента (open, stat, lstat, chmod, access, ...).

Многие другие доступны! Посетите страницу руководства strace (1) .

0
ответ дан 12 September 2013 в 19:57

на самом деле есть режим, названный как подробный режим, но я не уверен, что у firefox есть такая опция. У некоторых это обычно есть. Но нет проблем, каждое приложение будет состоять из его log.so вы можете проверить активность приложения, проверив его данные журнала.

Если вы хотите включить журнал для Firefox, вы можете проверить это

http://bertrandbenoit.blogspot.in/2011/09/activate-logging-for-mozilla.html [ 111]

каждое действие приложения в Ubuntu вы можете проверить с помощью их определенных журналов. Все приложения будут регистрироваться в каталоге /var/log.

0
ответ дан 12 September 2013 в 19:57