कैसे काम करता है?


14

विकिपीडिया के अनुसार ,

inotify एक लिनक्स कर्नेल सबसिस्टम है जो फ़ाइल सिस्टम में बदलाव को नोटिस करता है। इसने पिछले नोटिफिकेशन को बदल दिया।

प्रोग्राम जो सिंक फ़ाइलों (जैसे क्रैशप्लेन, ड्रॉपबॉक्स, गिट) को उपयोगकर्ता गाइड में पुन: जोड़ते हैं कि उपयोगकर्ता वृद्धि max_user_watches( 1 , 2 , 3 )।

जो मैं inotify के बारे में समझता हूं, उससे OS को "बताया गया" है कि OS को परिवर्तनों के लिए "go looking" की आवश्यकता के बजाय बदल दिया गया है।

मुझे लगता है कि हर निर्देशिका में एक "inotify" फ़ाइल बनाई गई है। क्या ये सही है? वहाँ कमांड लाइन से inotify के साथ बातचीत करने का एक तरीका है?

संसाधन
एनएफएस माउंट पर घटनाओं को अलग क्यों रखा जाता है?
एक निर्देशिका में बड़ी संख्या में फ़ाइलों के लिए Inotifywait


आप शायद इस तरह से अपने सवालों के जवाब नहीं पाएंगे (कम से कम, आसानी से नहीं) लेकिन आपको grep --exclude=arch -r inotifyलिनक्स कर्नेल स्रोतों में चलना चाहिए ।

जवाबों:


21

Inotify एक आंतरिक कर्नेल सुविधा है। कोई "इनोटिफ़ाइड फ़ाइल" नहीं है। समर्पित सिस्टम कॉल हैं inotify_init, inotify_add_watchऔर inotify_rm_watchजब कुछ फाइलसिस्टम घटनाएँ होती हैं , तो प्रक्रियाओं को स्वयं को पंजीकृत करने के लिए सूचित करने की अनुमति मिलती है। जब ईवेंट होता है, तो प्रक्रिया फ़ाइल डिस्क्रिप्टर के माध्यम से ईवेंट का विवरण प्राप्त करती है inotify_init

OS को "बताया" नहीं गया है कि एक फ़ाइल बदल दी गई है: यह जानता है, क्योंकि यह परिवर्तन कर रहा है। यह एप्लिकेशन है जिसे बताया गया है कि एक फाइल को देखने के लिए जाने के बजाय बदल दिया गया है।

प्रोग्राम inotifywaitकमांड लाइन से inotify का उपयोग करने का एक सरल तरीका प्रदान करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.