जॉन ने यूनिक्स/लिनक्स सिस्टम: अधिसूचना और मतदान के तहत फ़ाइलों को देखने के लिए आप ले सकते हैं दो मुख्य मार्गों का उल्लेख किया।
अधिसूचना तब होता है जब सिस्टम स्वयं (आमतौर पर कर्नेल) फ़ाइल को एक्सेस या लिखे जाने पर पंजीकृत अनुप्रयोगों को एक संदेश ट्रिगर करता है। इस दृष्टिकोण के लिए एक अनुपालन प्रणाली की आवश्यकता है और पुरानी मशीनों पर उपलब्ध नहीं हो सकता है।
लिनक्स के तहत अधिसूचना का प्राथमिक कार्यान्वयन inotify है, जो कर्नेल 2.6.13 में और बाद में बनाया गया है और इसे 2.6.12 और इससे पहले में जोड़ा जा सकता है। इनोटिफ़ाई का उपयोग करने के लिए इनोटिफ़ाई के साथ-साथ मूल set of tools and C library का उपयोग करने पर nice IBM guide है। इसके आकार, अंतिम संशोधन समय, मालिक, आदि - - बदल दिया गया है
मतदान जब अपने कार्यक्रम को बार-बार अंतराल पर एक फ़ाइल की जाँच करता है, तो उस फ़ाइल के बारे में कुछ भी नहीं देख रहा है।
इसका कोई मानक कार्यान्वयन नहीं है, क्योंकि यह प्रणाली-स्तर के आधार पर प्रोग्राम-स्तर पर लिखा गया है, हालांकि सिस्टम poll मौजूद है और इस उद्देश्य के लिए कुछ उपयोगी लगता है (मैन पेज का कहना है कि यह select जैसा है , और यह एक फ़ाइल वर्णनकर्ता पर उपलब्ध होने के लिए एक घटना की प्रतीक्षा करता है)। आप stat के साथ और अधिक बुनियादी दृष्टिकोण भी ले सकते हैं और अपनी जांच कर सकते हैं।
स्पष्टीकरण –
के लिए धन्यवाद मुझे संदेह है कि मतदान() मदद करेगा। ऐसा लगता है कि आपने गलत समझा है कि कौन सा मतदान() करता है। जब तक आप इसे * इनोटिफ़ाई * के साथ उपयोग नहीं करना चाहते हैं। – Thomas
स्पष्टीकरण के लिए: मतदान() केवल आपको इस फाइल से "अगर मैंने पढ़ा है) जैसे सामान बता सकता है, तो क्या वह ब्लॉक होगा?" या "अधिकतम 3 सेकंड तक प्रतीक्षा करें या जब तक कि मैं इन फाइल डिस्क्रिप्टरों में से कम से कम एक से पढ़ नहीं सकता (बिना पढ़ा() अवरुद्ध)। – Thomas