का उपयोग करें strace
!
उदाहरण: एक सत्र के दौरान फ़ायरफ़ॉक्स द्वारा खोली गई सभी फ़ाइलों को सूचीबद्ध करें:
strace -f firefox 2>&1 | grep 'open('
अगर आप फायरफॉक्स का दूसरा उदाहरण खोलते हैं तो परिणाम कुछ इस तरह से होता है: http://pastebin.com/iRqxgiWN ('-f' विकल्प सिर्फ स्ट्रेस फॉलो प्रक्रिया कांटे बनाता है।)
उदाहरण 2: फायरफॉक्स द्वारा निष्पादित सभी प्रक्रियाओं को सूचीबद्ध करें:
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
फायरफॉक्स द्वारा खोली गई सभी फाइलों को सूचीबद्ध करने के लिए भी उपयोग कर सकते हैं । आप फ़ायर्फ़ॉक्स द्वारा किए गए सभी फ़ाइल संचालन strace -fe trace=file firefox
को सूचीबद्ध करने के लिए भी उपयोग कर सकते हैं , जिसमें एक तर्क (खुले, स्टेट, स्टैट, चामोड, एक्सेस, ...) के रूप में एक फ़ाइल पथ है।
कई और उपलब्ध हैं! की जाँच करें strace (1) मैनुअल पृष्ठ।