Erlang 21

run_erl




erlang

run_erl

आदेश

run_erl

कमांड सारांश

यूनिक्स सिस्टम पर पुनर्निर्देशित एर्लांग इनपुट और आउटपुट स्ट्रीम।

विवरण

run_erl प्रोग्राम यूनिक्स सिस्टम के लिए विशिष्ट है। यह प्रोग्राम मानक इनपुट और मानक आउटपुट स्ट्रीम को पुनर्निर्देशित करता है ताकि सभी आउटपुट लॉग हो सकें। यह प्रोग्राम को to_erl को Erlang कंसोल से कनेक्ट करने की सुविधा देता है, जिससे दूरस्थ सिस्टम की निगरानी और डीबग करना संभव हो जाता है।

उपयोग के बारे में अधिक जानकारी के लिए, सिस्टम डॉक्यूमेंटेशन में Embedded System User's Guide

निर्यात

run_erl [-demon] pip_dir / log_dir "exec कमांड arg1 arg2 ..."

तर्क:

-daemon

यह विकल्प अत्यधिक अनुशंसित है। यह run_erl बैकग्राउंड को किसी भी कंट्रोलिंग टर्मिनल से पूरी तरह से अलग कर देता है और कमांड कॉलर को तुरंत लौटा देता है। इस विकल्प के बिना, run_erl को शेल में कई ट्रिक्स का उपयोग करना शुरू करना चाहिए, जब इसे शुरू करने से पहले टर्मिनल से पूरी तरह से अलग करने के लिए। कमांड लाइन पर run_erl का पहला तर्क विकल्प होना चाहिए।

pipe_dir

नामित पाइप, आमतौर पर /tmp/ । इसे / (स्लैश), यानी /tmp/epipes/ , not /tmp/epipes

log_dir

लॉग फ़ाइलें, जो है:

  • एक लॉग फ़ाइल, run_erl.log , जो run_erl.log प्रोग्राम से प्रगति और चेतावनी लॉग करता है।

  • अधिकतम 100 केबी पर पाँच लॉग फ़ाइल से प्रत्येक मानक स्ट्रीम की सामग्री के साथ और कमांड से। (दोनों प्रकार की संख्या और आकार को पर्यावरण चर द्वारा बदला जा सकता है, नीचे अनुभाग Environment Variables देखें।)

    जब लॉग भरे जाते हैं, तो run_erl सबसे पुरानी लॉग फ़ाइल को हटा देता है और पुन: उपयोग करता है।

"exec command arg1 arg2 ..."

एक अंतरिक्ष-पृथक स्ट्रिंग जो प्रोग्राम को निष्पादित करने के लिए निर्दिष्ट करता है। दूसरा फ़ील्ड आमतौर पर एक कमांड नाम है जैसे कि erl

लॉग फ़ाइलों के विषय में नोट्स

रन करते समय, run_erl एक लॉग फ़ाइल में सभी आउटपुट, निर्बाध रूप से भेजता है। फ़ाइल का नाम erlang.log.N , जहाँ N एक पूर्णांक है। जब लॉग "पूर्ण" होता है (डिफ़ॉल्ट लॉग आकार 100 KB होता है), erlang.log.(N+1) फ़ाइल erlang.log.(N+1) में लॉग करना शुरू कर erlang.log.(N+1) , जब तक कि N एक निश्चित संख्या (डिफ़ॉल्ट 5) तक नहीं पहुंच जाता है, जहां एक बार फिर N शुरू होता है। सबसे पुरानी फाइलें अधिलेखित होने लगती हैं।

यदि कोई आउटपुट Erlang शेल से नहीं आता है, लेकिन Erlang मशीन अभी भी जीवित प्रतीत होती है, तो लॉग को एक "ALIVE" संदेश लिखा जाता है; यह एक समय टिकट है और लिखा है, डिफ़ॉल्ट रूप से, 15 मिनट की निष्क्रियता के बाद। इसके अलावा, यदि इरलांग से आउटपुट लॉग किया गया है, लेकिन 5 मिनट से अधिक (डिफ़ॉल्ट) बीत चुका है क्योंकि पिछली बार हमें एर्लैंग से कुछ भी मिला था, लॉग में एक टाइम स्टैम्प लिखा है। "ALIVE" संदेश इस प्रकार हैं:

===== ALIVE <date-time-string>    

दूसरी बार टिकट इस प्रकार दिखते हैं:

===== <date-time-string>    

date-time-string वह दिनांक और समय है जब संदेश लिखा जाता है, स्थानीय समय में डिफ़ॉल्ट (यदि आवश्यक हो तो UTC में बदला जा सकता है)। इसे एएनएसआई-सी फ़ंक्शन strftime साथ प्रारूपित स्ट्रिंग %a %b %e %T %Z %Y साथ स्वरूपित किया गया है, जो ===== ALIVE Thu May 15 10:13:36 MEST 2003 जैसे संदेश उत्पन्न करता है; इसे बदला जा सकता है, अगला भाग देखें।

पर्यावरण चर

निम्न परिवेश चर को run_erl द्वारा पहचाना जाता है और लॉगिंग व्यवहार को परिवर्तित करता है। अधिक जानकारी के लिए, पिछला अनुभाग देखें।

RUN_ERL_LOG_ALIVE_MINUTES

लॉग के लिए "ALIVE" संदेश लिखने से पहले आउटपुट (मिनटों में) का इंतजार कब तक करना है। 15 से चूक, न्यूनतम 1 है।

RUN_ERL_LOG_ACTIVITY_MINUTES

समय से पहले उत्पादन से पहले एर्लांग को निष्क्रिय होने की आवश्यकता है। RUN_ERL_LOG_ALIVE_MINUTES div 3 में न्यूनतम, 1 है।

RUN_ERL_LOG_ALIVE_FORMAT

एक और प्रारूप स्ट्रिंग निर्दिष्ट करता है जिसका उपयोग strftime सी लाइब्रेरी कॉल में किया जाता है। यही है, इसे "%e-%b-%Y, %T %Z" निर्दिष्ट करते हुए, 15-May-2003, 10:23:04 MET जैसे समय टिकटों के साथ लॉग संदेश देता है। अधिक जानकारी के लिए, C लाइब्रेरी फ़ंक्शन strftime लिए दस्तावेज़ देखें। "%a %b %e %T %Z %Y" लिए डिफ़ॉल्ट।

RUN_ERL_LOG_ALIVE_IN_UTC

यदि 0 से कुछ और के लिए सेट किया गया है, तो यह स्थानीय समय के बजाय UTC (GMT, CET, MET, डेलाइट सेविंग टाइम के बिना) में run_erl लिए हर समय प्रदर्शित करता है। यह Erlang से आने वाले डेटा को प्रभावित नहीं करता है, केवल run_erl द्वारा सीधे लॉग आउटपुट करता है। एप्लिकेशन SASL को Erlang एप्लिकेशन वेरिएबल utc_log को true सेट करके तदनुसार संशोधित किया जा सकता true

RUN_ERL_LOG_GENERATIONS

पुरानी फ़ाइलों के पुन: उपयोग से पहले लिखी गई लॉग फ़ाइलों की संख्या को नियंत्रित करता है। 5 से चूक, न्यूनतम 2, अधिकतम 1000 है।

ध्यान दें कि, नवीनतम फ़ाइल को इंगित करने के तरीके के रूप में, run_erl फ़ाइल अनुक्रम में "छेद" बनाए रखने के लिए सबसे पुरानी लॉग फ़ाइल को हटा देगा। उदाहरण के लिए, यदि लॉग फ़ाइलें # 1, # 2, # 4 और # 5 मौजूद हैं, तो इसका मतलब है कि # 2 नवीनतम है और # 4 सबसे पुराना है। इसलिए आप RUN_ERL_LOG_GENERATIONS द्वारा निर्धारित मान से कम से कम एक लॉग फ़ाइल प्राप्त कर RUN_ERL_LOG_GENERATIONS

RUN_ERL_LOG_MAXSIZE

आकार, बाइट्स में, एक नई लॉग फ़ाइल पर स्विच करने से पहले एक लॉग फ़ाइल का। 100000 तक की चूक, न्यूनतम 1000, अधिकतम लगभग 2 ^ 30 है।

RUN_ERL_DISABLE_FLOWCNTRL

यदि परिभाषित किया गया है, तो run_erl द्वारा pty opend के लिए इनपुट और आउटपुट प्रवाह नियंत्रण को निष्क्रिय कर देता है। उपयोगी यदि आप Ctrl-S (Ctrl-D को अलग करने के बजाय) का उपयोग करके गलती से फ्लो कंट्रोल को रोकना चाहते हैं, जिसके परिणामस्वरूप संपूर्ण बीम प्रक्रिया अवरुद्ध हो सकती है, और सुपरवाइजर के रूप में दिल चलाने के मामले में टर्मिनल के लिए लॉग संदेश लिखते समय हृदय प्रक्रिया अवरुद्ध हो जाती है, जिससे हृदय प्रक्रिया अपना काम करने में असमर्थ हो जाती है।

यह भी देखें

start(1) , start_erl(1)