Sử dụng strace!
Ví dụ: Liệt kê tất cả các tệp được Firefox mở trong một phiên:
strace -f firefox 2>&1 | grep 'open('
Kết quả tương tự như thế này nếu bạn mở phiên bản thứ hai của FireFox: http://pastebin.com/iRqxgiWN (Tùy chọn '-f' chỉ tạo ra các bước tiến trình theo quy trình.)
Ví dụ 2: Liệt kê tất cả các quy trình được thực hiện bởi FireFox:
strace -f firefox 2>&1 | grep -P 'exec[vlpe]*\('
Kết quả trong một cái gì đó như thế này khi truy cập 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
Bạn có thể làm điều này với nhiều cuộc gọi hệ thống khác ...
Bằng cách khớp các tham số open()trong greptìm kiếm của bạn, bạn cũng có thể tìm ra chế độ nào tệp được mở:
Chỉ cần thêm | grep -P 'O_RDONLY|O_RDWR'(ký tự ống dẫn là quan trọng!) Để lọc truy cập đọc hoặc | grep -P 'O_WRONLY|O_RDWR'để truy cập ghi vào lệnh của bạn ...
CHỈNH SỬA :
Như đã đề cập trong các bình luận, bạn cũng có thể sử dụng strace -fe open firefoxđể liệt kê tất cả các tệp được mở bởi FireFox. Bạn cũng có thể sử dụng strace -fe trace=file firefoxđể liệt kê tất cả các thao tác tệp được thực hiện bởi FireFox có đường dẫn tệp dưới dạng đối số (mở, stat, lstat, chmod, access, ...).
Nhiều hơn nữa có sẵn! Kiểm tra trang hướng dẫn strace (1) .