2015-05-12 3 views
6

क्या परिवर्तनों की निगरानी के लिए /sys/class/gpio/gpioX डिवाइस पेड़ में फ़ाइलों पर जावा एनआईओ वॉच सेवा को सेट करना संभव है?यूनिक्स sys/classes/gpio फ़ाइलों के लिए एनआईओ घड़ी सेवा

जावा के भीतर से जीपीआईओ फाइलों (यानी जीपीआईओ-इनपुट) पर परिवर्तनों का पता लगाना अच्छा लगेगा, लेकिन मुझे डर है कि यह समर्थित नहीं है।

एक पुष्टि है कि यह समर्थित नहीं है (और शायद क्यों) पर्याप्त होगा।

+0

इस के साथ किसी भी भाग्य? क्या आपको और जानकारी चाहिए? –

उत्तर

4

जावा 7 एनआईओ फ़ाइलवाटर का लिनक्स कार्यान्वयन inotify का उपयोग करता है। फाइलसिस्टम परिवर्तनों को नोटिस करने के लिए इनोटिफ़ एक लिनक्स कर्नेल उपप्रणाली है। इसमें प्रतिबंध हैं और/proc,/sys और नेटवर्क शेयरों पर काम नहीं करते हैं। कृपया inotify limitations on wiki पढ़ें:

इनोटिफ़ी कुछ रिपोर्ट करता है लेकिन sysfs और procfs में सभी ईवेंट नहीं करता है। inotify के माध्यम से

अधिसूचना सभी प्रासंगिक फाइल सिस्टम की घटनाओं, जो नहीं हमेशा इस तरह के एनएफएस के रूप में नेटवर्क फ़ाइल सिस्टम जहां एक ग्राहक द्वारा किए गए परिवर्तनों तुरंत दूसरे ग्राहकों को प्रसारित नहीं कर रहे हैं के लिए संभव है के बारे में पता होना करने के लिए कर्नेल की आवश्यकता है।

और थोड़ा अधिक:

inotify missing events
Java WatchService doesn't work on some folders
Java WatchService not generating events while watching mapped drives

+0

यह बहुत दिलचस्प है। मुझे लगा कि यह/proc और/sys जैसी चीजों पर काम नहीं करेगा, लेकिन मुझे लगता है कि नेटवर्क फाइल सिस्टम इसे लागू करने में सक्षम होने के लिए प्रोटोकॉल परमिट मानते हैं। – Trejkaz

+0

@Trejkaz यह दुखद लेकिन सच है। कर्नेल नेटवर्क फाइल सिस्टम को नियंत्रित नहीं कर सकता है। एफवाईआई: मैंने अपना जवाब सुधार लिया है –

संबंधित मुद्दे