Answers:
使用strace!
示例:列出会话期间Firefox打开的所有文件:
strace -f firefox 2>&1 | grep 'open('
如果您打开FireFox的第二个实例,结果将是这样的:http : //pastebin.com/iRqxgiWN(“ -f”选项仅使strace跟随进程派生。)
示例2:列出FireFox执行的所有进程:
strace -f firefox 2>&1 | grep -P 'exec[vlpe]*\('
造访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完成的所有文件操作,这些操作以文件路径作为参数(打开,状态,lstat,chmod,访问等)。
还有更多可用!查看strace(1)手册页。
strace -e open仅显示对的调用open()。
实际上有一个模式叫做详细模式,但是我不确定Firefox是否有这样的选项。但是没问题,每个应用程序都将包含其日志。因此您可以通过检查其日志数据来检查应用程序的活动。
如果您想为firefox启用日志,则可以检查一下
http://bertrandbenoit.blogspot.in/2011/09/activate-logging-for-mozilla.html
您可以查看Ubuntu中的每个应用程序活动及其特定日志/var/log。所有应用程序都将记录在该目录中。