यह कमांड लंच है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।
कार्यक्रम:
नाम
दोपहर का भोजन - वितरित प्रक्रिया लांचर
SYNOPSIS
लंच [विन्यास पट्टिका] [विकल्पों]
वर्णन
लंच जीएनयू/लिनक्स के लिए एक वितरित प्रक्रिया लॉन्चर है। लंच मास्टर लॉन्च हुआ
यदि दूरस्थ होस्ट पर लंच-स्लेव एक एन्क्रिप्टेड एसएसएच सत्र के माध्यम से प्रक्रिया करता है। वो गुलाम
प्रक्रियाएँ बदले में ऑन-डिमांड वांछित कमांड लॉन्च कर सकती हैं।
विकल्प
--संस्करण
कार्यक्रम का संस्करण संख्या दिखाएं और बाहर निकलें
-h, --मदद
यह सहायता संदेश दिखाएं और बाहर निकलें
-f CONFIG_फ़ाइल, --कॉन्फ़िगरेशन-फ़ाइल=CONFIG_फ़ाइल
पायथन कॉन्फ़िग फ़ाइल निर्दिष्ट करता है। आप कॉन्फिग फ़ाइल को इस प्रकार भी निर्दिष्ट कर सकते हैं
पहला तर्क।
-l लॉगिंग_निर्देशिका, --लॉगिंग-निर्देशिका=लॉगिंग_निर्देशिका
मास्टर के लिए लॉगिंग और पिडफ़ाइल निर्देशिका निर्दिष्ट करता है। डिफ़ॉल्ट है
/var/tmp/दोपहर का भोजन
-q, --लॉग-टू-फ़ाइल
फ़ाइल में मास्टर जानकारी लॉगिंग सक्षम करता है और मानक आउटपुट पर लॉगिंग अक्षम करता है।
-g, --ग्राफिकल
ग्राफ़िकल यूज़र इंटरफ़ेस सक्षम करता है.
-v, --शब्दशः
लॉगिंग आउटपुट को वर्बोज़ बनाता है।
-d, - दाढ़
लॉगिंग आउटपुट को बहुत क्रियात्मक बनाता है।
-k, --किल
एक अन्य लंच मास्टर को मारता है जो समान कॉन्फ़िगरेशन फ़ाइल और लॉगिंग निर्देशिका का उपयोग करता है।
एक बार यह पूरा हो जाने पर बाहर निकल जाता है।
संचालन
लंच निष्पादन योग्य को लंच मास्टर कहा जाता है। लंच-स्लेव निष्पादन योग्य को कहा जाता है
दोपहर के भोजन का गुलाम. यदि इसे स्वामी के रूप में चलाया जाए, तो यह दासों को लॉन्च करता है। गुलाम जिम्मेदार हैं
बाल प्रक्रियाओं को लॉन्च करना। मास्टर दासों को लॉन्च करता है (एसएसएच के माध्यम से या नहीं) जो बदले में,
चाइल्ड प्रक्रियाएँ लॉन्च करें।
लंच कॉन्फ़िगरेशन फ़ाइल को लंच निष्पादन योग्य के पहले तर्क के रूप में प्रदान किया जा सकता है।
यदि नहीं दिया गया तो लंच मास्टर इसकी तलाश करेगा ~/.lunchrc फ़ाइल। नहीं मिला तो लंच हो जाएगा
एक त्रुटि प्रिंट करें और बाहर निकलें। लंच कॉन्फ़िगरेशन फ़ाइल पायथन प्रोग्रामिंग में लिखी गई है
भाषा, और add_command फ़ंक्शन को कॉल करना होगा।
मास्टर की प्रक्रिया आईडी /var/tmp/lunch/master*.pid में स्थित फ़ाइल में लिखी जाती है,
जहां * मास्टर को कॉन्फ़िगर करने के लिए उपयोग की जाने वाली लंच कॉन्फ़िगरेशन फ़ाइल के आधार पर भिन्न होता है। यहाँ है
अपने सिस्टम पर हर लंच मास्टर को कैसे ख़त्म करें:
f के लिए /var/tmp/lunch/master-*.pid; मार डालो -15 $(बिल्ली $f); पूर्ण
चित्रमय USER इंटरफ़ेस
जब --ग्राफ़िकल विकल्प के साथ आह्वान किया जाता है, (-g) लंच मास्टर एक ग्राफ़िकल उपयोगकर्ता दिखाता है
प्रत्येक प्रबंधित प्रक्रिया की स्थिति प्रदर्शित करने वाला इंटरफ़ेस। जब यह विंडो बंद हो जाती है, तो
लंच मास्टर बाहर निकलता है और अपने सभी बच्चों की प्रक्रियाओं को ख़त्म कर देता है।
एसएसएच KEYS प्रबंधन
यदि एक से अधिक होस्ट के लिए उपयोग किया जाता है, तो लंच के लिए प्रत्येक रिमोट पर एक एसएसएच सर्वर स्थापित होना आवश्यक है
कंप्यूटर। यह भी आवश्यक है कि मास्टर कंप्यूटर पर आपके उपयोगकर्ता की सार्वजनिक SSH कुंजी हो
प्रत्येक स्लेव कंप्यूटर पर स्थापित होना चाहिए। यहां बनाने के लिए किए जाने वाले चरणों का सारांश दिया गया है
अपने मास्टर कंप्यूटर पर एक SSH कुंजी, और प्रत्येक स्लेव कंप्यूटर पर अपनी सार्वजनिक कुंजी भेजें।
$ एमकेडीआईआर-पी ~ / .ssh
$ चामोद 700 ~ / .ssh
$ एसएसएच-कीजेन -एफ ~/.ssh/id_rsa -टी आरएसए
इसके बाद, प्रत्येक दास मेज़बान के लिए, यह करें:
$ एसएसएच-कॉपी-आईडी @
$ ssh उपयोगकर्ता नाम@होस्ट 'इको हैलो'
बाद वाला आदेश जारी होने पर "हैलो" प्रदर्शित करना चाहिए।
यदि आप एसएसएच के माध्यम से दोपहर का भोजन शुरू करते हैं, और वहां से अन्य मेजबानों को आदेश देते हैं, तो आपको पहले ऐसा करना होगा
सुनिश्चित करें कि ssh-एजेंट चल रहा है और आपने अपनी निजी SSH कुंजी अनलॉक कर दी है।
इसे इस प्रकार किया जा सकता है:
$ एसएसएच-एजेंट बैश
$ ssh-जोड़ें
इतिहास
2010 - मल्टीप्रोसेसिंग से ट्विस्टेड में पोर्ट किया गया
2009 - अलेक्जेंड्रे क्वेसी द्वारा लिखित[ईमेल संरक्षित]> साइमन के योगदान के साथ
पिएट[ईमेल संरक्षित]>
उदाहरण
उदाहरणों के लिए उदाहरण निर्देशिका देखें। डेबियन या उबंटू सिस्टम पर, उन्हें स्थित होना चाहिए
/usr/share/doc/lunch/examples/ निर्देशिका में।
ए की सामग्री के लिए यहां सबसे सरल उदाहरण दिया गया है ~/.lunchrc फ़ाइल। यह बताता है
दोपहर के भोजन के लिए केवल एक आदेश को कॉल करें, जिसे "ज़ेयेस" कहा जाता है।
add_command("xeyes")
यदि आप इस फ़ाइल में add_command में अधिक कॉल जोड़ते हैं, तो यह और अधिक प्रक्रियाएँ जोड़ देगा
लंच द्वारा लॉन्च किया गया। Add_command पायथन फ़ंक्शन है जिसे आपको अपने लंच से कॉल करने की आवश्यकता है
लंच द्वारा कॉल किए जाने वाले कमांड जोड़ने के लिए कॉन्फ़िगरेशन फ़ाइल। यदि आप इससे अधिक जोड़ते हैं
एक आदेश, उन्हें उसी क्रम में बुलाया जाएगा जिस क्रम में आप उन्हें फ़ाइल में जोड़ेंगे।
यहां कॉन्फ़िगरेशन फ़ाइल का एक अधिक जटिल उदाहरण दिया गया है. यह तीन प्रक्रियाएँ बनाता है
प्रक्रियाओं के बीच निर्भरता.
add_command('xeyes', identifier='xeyes')
add_command("xlogo", depends=["xeyes"])
add_command("xlock", depends=["xeyes", "xlogo"])
उपरोक्त कॉन्फ़िगरेशन फ़ाइल पहले xeyes, और उसके बाद xlogo, और अंत में xक्लॉक प्रारंभ करेगी।
यदि xeyes बंद हो जाता है, तो सभी तीन प्रक्रियाएं रोक दी जाएंगी और पुनः आरंभ की जाएंगी। यदि xlogo प्रक्रिया
छोड़ देता है, जब xlogo चल रहा हो तो xlock बंद हो जाएगा और फिर से पुनरारंभ हो जाएगा।
"Add_command" फ़ंक्शन के "निर्भर" कीवर्ड तर्क के लिए स्ट्रिंग्स की एक सूची की आवश्यकता होती है
तर्क। उन स्ट्रिंग को पहले से जोड़े गए "पहचानकर्ता" कीवर्ड तर्क से मेल खाना चाहिए
आदेश।
अगले उदाहरण में, हम दूरस्थ होस्ट पर प्रक्रियाएँ लॉन्च करने के लिए SSH का उपयोग करते हैं। ध्यान दें कि दोपहर का भोजन-
चाइल्ड प्रक्रियाओं को लॉन्च करने के लिए प्रत्येक होस्ट पर स्लेव स्क्रिप्ट स्थापित की जानी चाहिए।
add_command("xeyes")
add_command('xeyes', user='johndoe',host='example.org')
यह इस तरह एक प्रोसेस ट्री बनाएगा:
दोपहर का भोजन______________दोपहर का भोजन-गुलाम____xeyes
|____ssh____दोपहर का भोजन-गुलाम____xeyes
अगला एक कमांड है जो केवल एक बार चलाया जाता है।
add_command('ls -l', identifier='listing...', respawn=False)
यदि, किसी कारण से, आपके लिए प्रत्येक आदेश के लिए होस्ट नाम निर्दिष्ट करना आसान है
जोड़ें, यहां तक कि स्थानीय होस्ट के लिए भी, आप मास्टर के आईपी के साथ "add_local_address" को कॉल कर सकते हैं
तर्क।
add_local_address("192.168.1.2")
# हम इसके लिए SSH का उपयोग नहीं करेंगे,
# चूंकि हमने अभी इसका उपयोग करके इसका होस्ट जोड़ा है
# "add_local_address" फ़ंक्शन।
add_command("xeyes",
पहचानकर्ता = "local_xeyes",
उपयोगकर्ता = "जॉन्डो", होस्ट = "192.168.0.2")
# हम अगले के लिए SSH का उपयोग करेंगे,
# चूँकि इसका होस्ट स्थानीय होस्ट के रूप में सेट नहीं है।
add_command("xeyes -geometry 300x400",
पहचानकर्ता = "remote_xeyes",
उपयोगकर्ता = "johndoe", होस्ट = "example.org")
रिपोर्टिंग बग
देख http://svn.sat.qc.ca/trac/lunch सहायता और दस्तावेज़ीकरण के लिए.
onworks.net सेवाओं का उपयोग करके दोपहर के भोजन का ऑनलाइन उपयोग करें