Erlang 21

os_sup




erlang

os_sup

मॉड्यूल

os_sup

मॉड्यूल सारांश

ओएस सिस्टम संदेशों के लिए इंटरफ़ेस

विवरण

os_sup एक प्रक्रिया है जो ऑपरेटिंग सिस्टम से os_sup रनटाइम सिस्टम में त्रुटि लकड़हारा को संदेश सेवा प्रदान करती है। यह OS_Mon एप्लिकेशन का हिस्सा है, os_mon(6) । सोलारिस और विंडोज के लिए उपलब्ध है।

उपयोगकर्ता द्वारा कॉलबैक फ़ंक्शन में ऑपरेटिंग सिस्टम के परिणाम प्राप्त होने वाले संदेशों को कॉल किया जाता है। यह फ़ंक्शन जो भी फ़िल्टरिंग और स्वरूपण आवश्यक है वह कर सकता है और फिर उपयोगकर्ता के आवेदन के लिए उपयुक्त किसी भी प्रकार की लॉगिंग को तैनात कर सकता है।

सोलारिस ऑपरेशन

सोलारिस (SunOS 5.x) संदेशों को syslog-daemon, syslogd से पुनर्प्राप्त किया जाता है।

सेवा को सक्षम करने में ऐसी क्रियाएं शामिल हैं जिनमें रूट विशेषाधिकार की आवश्यकता होती है, जैसे कि स्वामित्व का परिवर्तन और निष्पादन योग्य बाइनरी फ़ाइल के फ़ाइल विशेषाधिकार, और syslogd लिए कॉन्फ़िगरेशन फ़ाइल की संशोधित प्रतिलिपि बनाना। जब os_sup समाप्त हो जाता है, तो सेवा को अक्षम किया जाना चाहिए, जिसका अर्थ है कि मूल कॉन्फ़िगरेशन को पुनर्स्थापित किया जाना चाहिए। सक्षम करना / अक्षम करना os_sup बाहर या अंदर किया जा सकता है, नीचे Configuration देखें।

चेतावनी

यह प्रक्रिया एक ही हार्डवेयर पर कई उदाहरणों में नहीं चल सकती। OS_Mon को केवल एक नोड पर os_sup शुरू करने के लिए कॉन्फ़िगर किया जाना चाहिए, यदि दो या अधिक Erlang नोड एक ही मशीन पर निष्पादित होते हैं।

प्राप्त घटनाओं के प्रारूप को परिभाषित नहीं किया गया है।

विंडोज ऑपरेशन

Windows संदेशों को इवेंट फ़ाइल से पुनर्प्राप्त किया जाता है।

nteventlog मॉड्यूल का उपयोग os_sup को कार्यान्वित करने के लिए किया os_sup nteventlog(3) देखें। ध्यान दें कि nteventlog के प्रारंभ कार्यों का उपयोग करने की आवश्यकता नहीं है, इस मामले में प्रक्रिया स्वचालित रूप से OS_Mon पर्यवेक्षण के पेड़ के हिस्से के रूप में शुरू की जाती है।

ओएस संदेशों को टपल के रूप में स्वरूपित किया जाता है {Time, Category, Facility, Severity, Message} :

Time = {MegaSecs, Secs, MicroSecs}

बीआईएफ द्वारा लौटाए गए टाइम स्टैम्प now()

Category = string()

आमतौर पर "System" , "Application" या "Security" । ध्यान दें कि NT के इवेंट व्यूअर के पास श्रेणी की एक और धारणा है, जो ज्यादातर मामलों में पूरी तरह से अर्थहीन है और इसलिए Erlang में आयात नहीं की गई है। जिसे यहां एक श्रेणी कहा जाता है वह एक सामान्य NT सिस्टम में होने वाली मुख्य तीन प्रकार की घटनाओं में से एक है।

Facility = string()

संदेश का स्रोत, आमतौर पर उस एप्लिकेशन का नाम जो इसे उत्पन्न करता है। यह लगभग किसी भी तार हो सकता है। कुछ अनुप्रयोगों के संदेशों का मिलान करते समय, आवेदन की संस्करण संख्या का हिसाब देना पड़ सकता है। यह वही है जिसे NT ईवेंट व्यूअर "स्रोत" कहता है।

Severity = string()

"Error" , "Warning" , "Informational" , "Audit_Success" , "Audit_Faulure" में से एक या वर्तमान में अज्ञात विंडोज एनटी संस्करण "Severity_Unknown" "Audit_Faulure" मामले में।

Message = string()

एनटी इवोल्यूशन व्यूअर में जैसा होगा वैसा ही स्वरूपित होगा। बाइनरी डेटा को इरलंग में आयात नहीं किया गया है।

विन्यास

os_sup_mfa = {Module, Function, Args}

कॉलबैक फ़ंक्शन का उपयोग करने के लिए। Module और Function परमाणु हैं और Args शब्दों की एक सूची है। जब एक OS संदेश Msg प्राप्त होता है, तो इस फ़ंक्शन को apply(Module, Function, [Msg | Args]) रूप में कहा जाता है।

डिफ़ॉल्ट {os_sup, error_report, [Tag]} जो error_logger:error_report(Tag, Msg) का उपयोग करके ईवेंट को त्रुटि error_logger:error_report(Tag, Msg) Tag os_sup_errortag का मान है, नीचे देखें।

os_sup_errortag = atom()

यह पैरामीटर त्रुटि रिपोर्ट प्रकार का उपयोग करता है जब संदेश डिफ़ॉल्ट कॉलबैक फ़ंक्शन का उपयोग करके त्रुटि लकड़हारे को भेजे जाते हैं। डिफ़ॉल्ट std_error , जिसका अर्थ है कि घटनाओं को मानक ईवेंट हैंडलर द्वारा नियंत्रित किया जाता है।

os_sup_enable = bool()

केवल सोलारिस। परिभाषित करता है कि क्या सेवा सक्षम होनी चाहिए (और अक्षम) अंदर ( true ) या बाहर ( false ) os_sup । पश्चगामी संगतता कारणों के लिए, डिफ़ॉल्ट true । अनुशंसित मान false , क्योंकि एर्लांग एमुलेटर को आम तौर पर root विशेषाधिकारों के साथ नहीं चलाया जाना चाहिए, जैसा कि सेवा को सक्षम करने के लिए आवश्यक है।

os_sup_own = string()

केवल सोलारिस। उस निर्देशिका को परिभाषित करता है, जिसमें syslogd के लिए बैकअप प्रतिलिपि और Erlang विशिष्ट कॉन्फ़िगरेशन फ़ाइलें, और syslogd से संदेश प्राप्त करने के लिए एक नामित पाइप होता है। डिफ़ॉल्ट "/etc"

os_sup_syslogconf = string()

केवल सोलारिस। Syslogd के लिए कॉन्फ़िगरेशन फ़ाइल का पूरा नाम परिभाषित करता है। डिफ़ॉल्ट "/etc/syslog.conf"

निर्यात

सक्षम () -> ठीक है | {त्रुटि, Res}
सक्षम (डिर, कॉन्फ) -> ठीक | {त्रुटि, त्रुटि}

प्रकार

os_sup सेवा को सक्षम करता है। जरूरत है सोलारिस पर ही।

यदि कॉन्फ़िगरेशन पैरामीटर os_sup_enable false , तो इस फ़ंक्शन को os_sup_own और os_sup_syslogconf के तर्कों के रूप में उपयोग करके, स्वचालित रूप से os_sup द्वारा os_sup किया जाता है।

यदि os_sup_enable true , तो OS_Mon / os_sup प्रारंभ होने से पहले इस फ़ंक्शन को कॉल किया जाना चाहिए। Dir निर्देशिका को परिभाषित करता है जिसमें बैकअप कॉपी और syslogd के लिए Erlang विशिष्ट विन्यास फाइल होती है, और syslogd से संदेश प्राप्त करने के लिए एक नामित पाइप। "/etc" कमी। Conf के लिए कॉन्फ़िगरेशन फ़ाइल का पूरा नाम परिभाषित करता है। डिफ़ॉल्ट "/etc/syslog.conf"

OS कॉल में परिणाम:

<PRIVDIR>/bin/mod_syslog otp Dir Conf

जहाँ <PRIVDIR> की priv निर्देशिका है, code:priv_dir(os_mon)

यदि यह अपेक्षित परिणाम "0" , और {error, Res} तो ठीक है अगर यह कुछ और देता है।

ध्यान दें

इस फ़ंक्शन को सफल होने के लिए रूट विशेषाधिकार की आवश्यकता होती है।

अक्षम () -> ठीक है | {त्रुटि, Res}
डिसएबल (डिर, कॉन्फ) -> ठीक | {त्रुटि, त्रुटि}

प्रकार

os_sup सेवा अक्षम करता है। जरूरत है सोलारिस पर ही।

यदि कॉन्फ़िगरेशन पैरामीटर os_sup_enable false , तो इस फ़ंक्शन को os_sup द्वारा स्वचालित रूप से os_sup किया os_sup , उसी तर्कों का उपयोग करते हुए जब enable/2 कहा जाता था।

यदि os_sup_enable true , तो OS_Mon / os_sup बंद होने के बाद इस फ़ंक्शन को कॉल किया जाना चाहिए। Dir निर्देशिका को परिभाषित करता है जिसमें बैकअप कॉपी और syslogd के लिए Erlang विशिष्ट विन्यास फाइल होती है, और syslogd से संदेश प्राप्त करने के लिए एक नामित पाइप। "/etc" कमी। Conf के लिए कॉन्फ़िगरेशन फ़ाइल का पूरा नाम परिभाषित करता है। डिफ़ॉल्ट "/etc/syslog.conf"

OS कॉल में परिणाम:

<PRIVDIR>/bin/mod_syslog nootp Dir Conf

जहाँ <PRIVDIR> की priv निर्देशिका है, code:priv_dir(os_mon)

यदि यह अपेक्षित परिणाम "0" , और {error, Res} तो ठीक है अगर यह कुछ और देता है।

ध्यान दें

इस फ़ंक्शन को सफल होने के लिए रूट विशेषाधिकार की आवश्यकता होती है।

यह भी देखें

error_logger(3) , os_mon(3)

सोलारिस दस्तावेज में syslog.conf(4) syslogd(1M) , syslog.conf(4)