हाँ; लेकिन पहले अपने बगिया प्रोग्राम को सिस्टमड के साथ फ़िडलिंग से पहले ठीक करें।
MariusMatutiae काफी सही है। आपको अपने कार्यक्रम में कोई समस्या है। यह गतिरोध करता है। सिस्टमड के साथ फिडलिंग का जवाब नहीं है। सबसे अच्छा, यह एक व्याकुलता है। अपने प्रोग्राम को ठीक करें ताकि वह टूटे नहीं। अपनी ऊर्जा को सही चीज पर निर्देशित करें।
उस व्यक्ति ने कहा, प्रश्न उचित होने के बजाए अन्य लोग यहां आने वाले हैं। उनके लाभ के लिए, यहां शीर्षक का उत्तर है, प्रश्न की उचित अनदेखी करना:
हां, systemd dæmons की निगरानी कर सकता है और यदि वे बात करना बंद कर देते हैं तो स्वचालित रूप से उन्हें पुनः आरंभ कर सकते हैं। हालांकि कोई पुराना डामोन नहीं है। Mvp नोट के रूप में, यह जानने का कोई तरीका नहीं है कि डॉमन को लटका दिया गया है (इस ब्रह्मांड में, जहां रुकने की समस्या कम नहीं है, कम से कम)। न तो सिस्टमड और न ही कोई अन्य कंप्यूटर प्रोग्राम कभी भी खरोंच से कटौती करने में सक्षम होगा कि उन पर फेंके गए कुछ यादृच्छिक कार्यक्रम गतिरोध हो गए हैं, या एक अनंत लूप में चले गए हैं, या जो भी हो। यहां आपको जो सबसे अच्छा मिलेगा, वह यह पता लगा रहा है कि एक डॉमन ने एक आवश्यक समय-सीमा के भीतर एक नियमित "दिल की धड़कन" ऑपरेशन नहीं किया है।
सिस्टम के वॉचडॉग क्षमताओं का लाभ उठाने वाले डमन्स को सिस्टम-विशिष्ट प्रोटोकॉल, sd_notify प्रोटोकॉल बोलने के लिए लिखा जाना चाहिए। इससे d codemon कोड एक बालक बन जाता है। यह आगे जटिल है क्योंकि d complicatedmons चाहिए, अगर ठीक से लिखा गया है, तो जांचें कि क्या उन्हें वॉचडॉग फ़ंक्शन सक्षम होने के साथ-साथ लागू किया गया है।
एक प्रोटोकॉल है जो सिस्टमड की वॉचडॉग क्षमता का उपयोग करने के लिए इस प्रोटोकॉल को बोलता है ...
- ...
WATCHDOG_USEC
पर्यावरण चर के लिए जाँच करनी चाहिए ;
- … को sd_notify () लगातार और अक्सर अपने पूरे जीवनकाल में,
WATCHDOG=1
विकल्प सेट के साथ, लगभग 2/2 के अंतराल पर WATCHDOG_USEC
("USEC" microseconds के लिए खड़ा है ) कॉल करना होगा ;
- ...
Type=notify
इसकी इकाई फ़ाइल में सेट होना चाहिए ;
- … इसकी इकाई फ़ाइल में सेट
NotifyAccess=main
(या =all
) होना चाहिए ;
- … इसकी इकाई फ़ाइल में
WatchdogSec=
सेकंड सेट होना चाहिए ।
- … के साथ लिंक करना होगा
libsystemd-daemon.so
यदि आप इस कोडिंग का विवरण जानना चाहते हैं, तो मैनुअल पढ़ने के बाद, सुनिश्चित करें कि आप सही StackExchange पर जाएँ। यह सुपरयूजर है। StackOverflow वहाँ पर है ।
आगे की पढाई
- लेन्नर्ट पोइटरिंग। 2011-04-12। पहरेदार । Freedesktop.org।
for(;;) do_something();
?