मैं लिनक्स के लिए सिस्टम मॉनिटर लिख रहा हूं और कुछ वॉचडॉग कार्यक्षमता को शामिल करना चाहता हूं। कर्नेल में, आप वॉचडॉग को जारी रखने के लिए कॉन्फ़िगर कर सकते हैं भले ही/dev/watchdog बंद हो। दूसरे शब्दों में, यदि मेरा डेमन सामान्य रूप से बाहर निकलता है और/dev/watchdog बंद करता है, तो सिस्टम अभी भी 59 सेकंड बाद फिर से बूट हो जाएगा। यह उपयोगकर्ता के लिए वांछनीय व्यवहार हो सकता है या नहीं भी हो सकता है।लिनक्स सॉफ्टवेयर वॉचडॉग
मुझे अपने डिमन को इस सेटिंग से अवगत कराने की आवश्यकता है क्योंकि यह प्रभावित करेगा कि मैं सिगिनट को कैसे संभालें। यदि सेटिंग चालू है, तो मेरे डिमन को (अधिमानतः) बाहर निकलने पर व्यवस्थित शटडाउन शुरू करना होगा (कम से कम) उपयोगकर्ता को चेतावनी देगा कि सिस्टम जल्द ही रीबूट करने जा रहा है।
क्या किसी को भी इस स्थान को उपयोगकर्ता स्थान से प्राप्त करने के तरीके के बारे में पता है? मुझे मूल्य प्राप्त करने के लिए sysconf() में कुछ भी नहीं दिख रहा है। इसी प्रकार, मुझे यह बताने में सक्षम होना चाहिए कि क्या सॉफ़्टवेयर वॉचडॉग प्रारंभ करने के लिए सक्षम है या नहीं।
संपादित करें:
लिनक्स एक बहुत ही सरल प्रहरी इंटरफेस प्रदान करता है। एक बार डिवाइस खोले जाने के बाद, एक प्रक्रिया/dev/watchdog खोल सकती है, कर्नेल 60 सेकंड की गिनती को रीबूट करने के लिए शुरू कर देगा जब तक कि उस फ़ाइल में कुछ डेटा लिखा न जाए, जिस स्थिति में घड़ी फिर से सेट हो।
कर्नेल कॉन्फ़िगर करने के तरीके के आधार पर, उस फ़ाइल को बंद करना उलटी गिनती को रोक सकता है या नहीं। प्रलेखन से:
प्रहरी अगर डिवाइस /dev/प्रहरी सही ढंग से बंद कर दिया है एक रिबूट के कारण बिना रोका जा सकता है, जब तक कि आपके गिरी साथ CONFIG_WATCHDOG_NOWAYOUT विकल्प सक्षम संकलित किया गया है।
मैं अगर CONFIG_WATCHDOG_NOWAYOUT एक उपयोगकर्ता अंतरिक्ष डेमॉन के भीतर से स्थापित किया गया था बताने के लिए, ताकि मैं के बंद संभाल कर सकते हैं सक्षम होना चाहिए डेमॉन को अलग ढंग से कहा। दूसरे शब्दों में, उस सेटिंग को उच्च, एक सरल है:
# /etc/init.d/mydaemon stop
... प्रणाली 59 सेकंड में, रिबूट क्योंकि कुछ भी नहीं करने के लिए/dev/प्रहरी अब किसी भी लिख रहा है होगा। इसलिए, यदि यह सेट उच्च है, तो SIGINT के लिए मेरे हैंडलर को अतिरिक्त चीजें करने की आवश्यकता है (यानी उपयोगकर्ता को कम से कम चेतावनी दें)।
मैं उपयोगकर्ता अंतरिक्ष से इस सेटिंग को प्राप्त करने का एक तरीका नहीं मिल रहा है :(किसी भी मदद की सराहना की है।
एपीआई स्पेक में मैजिक क्लोज़ और आईओसीटीएल का विवरण उपरोक्त टिप्पणियों की पुष्टि करता है, लेकिन अधिक पृष्ठभूमि विवरण प्रदान करता है। उदाहरण के लिए [यह] (http://www.mjmwired.net/kernel/Documentation/watchdog/watchdog-api.txt) देखें। पहले पाया [यहां] (http://stackoverflow.com/a/2020516/939250)। –