Я хочу знать, что происходит за экраном, когда я открываю какое-то приложение. Например, когда я открываю firefox, я хочу знать, какие файлы читаются, а какие исполняются. Есть какой-либо способ сделать это. Даже открытие firefox из терминала не показывает никакой информации. ОС: Ubuntu 12.04
Используйте 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
для перечисления всех i> файловых операций, выполненных FireFox, которые имеют путь к файлу в качестве аргумента (open, stat, lstat, chmod, access, ...).
Многие другие доступны! Посетите страницу руководства strace (1) .
на самом деле есть режим, названный как подробный режим, но я не уверен, что у firefox есть такая опция. У некоторых это обычно есть. Но нет проблем, каждое приложение будет состоять из его log.so вы можете проверить активность приложения, проверив его данные журнала.
Если вы хотите включить журнал для Firefox, вы можете проверить это
http://bertrandbenoit.blogspot.in/2011/09/activate-logging-for-mozilla.html [ 111]
каждое действие приложения в Ubuntu вы можете проверить с помощью их определенных журналов. Все приложения будут регистрироваться в каталоге /var/log
.