एक सॉफ्टवेयर प्रोजेक्ट के लिए मुझे लिनक्स पर संपूर्ण फाइल सिस्टम की फाइल सिस्टम ईवेंट * देखने की जरूरत है, जिनमें से प्रत्येक में आसानी से 200.000 से अधिक डायरेक्टरी शामिल हैं। इसे कैसे प्राप्त किया जा सकता है? (मैं पहले से ही विंडोज पर काम कर रहा हूँ)
मैं जो इकट्ठा करता हूं:
- inotify recursively नहीं देख सकते हैं, और हर उपनिर्देशिका देख थकने योग्य है,
- fanotify डिलीट, रीनेम और मूव्स को नोटिफाई नहीं करता है।
इसके लायक क्या है, मैं Ubuntu 16.04 का उपयोग कर रहा हूं, रूट हूं, और फाइल सिस्टम सभी स्थानीय हैं (कोई लैन / सीआईएफएस / आदि नहीं)।
कोई ओएस संशोधन नहीं - एक उपयोगकर्ता को सॉफ्टवेयर डाउनलोड करने और इसे चलाने में सक्षम होना चाहिए।
* बनाएँ, हटाएँ, संशोधित करें, ले जाएँ **।
** कदम के बजाय, मैं युक्त निर्देशिकाओं को संशोधित करने या हटाने / जोड़ने के साथ काम कर सकता हूं।
एलएसएम मॉड्यूल बनाने पर विचार करें। यह पूर्ण फाइलसिस्टम लिखने की तुलना में थोड़ा कम दर्दनाक हो सकता है, और FUSE जैसी चीज की तुलना में कम संदर्भ-स्विचिंग में परिणाम हो सकता है।
—
user1643723
मुझे डर है कि बिल्ड-टाइम कर्नेल 'मॉड्यूल' कोई विकल्प नहीं है।
—
मार्क जेरोनिमस
ftrace
किसी अन्य कर्नेल ट्रेसिंग टूल का उपयोग करें ।