पर्यवेक्षक का उपयोग करके केवल कुछ प्रक्रियाओं को कैसे पुनः आरंभ करें?


107

मैं पर्यवेक्षण 1, प्रक्रिया 2, प्रक्रिया 2, ..., प्रक्रिया 8 नाम का उपयोग करके कुछ प्रक्रियाएं चला रहा हूं। यदि मैं {1-4} प्रक्रिया को फिर से शुरू करना चाहता हूं, तो मैं पर्यवेक्षक के साथ कैसे कर सकता हूं?

जवाबों:


177

पर्यवेक्षक प्रक्रिया समूहों का समर्थन करता है । आप नामित समूहों में प्रक्रियाओं को समूहबद्ध कर सकते हैं और उन्हें सामूहिक रूप से प्रबंधित कर सकते हैं।

[unix_http_server]
file=%(here)s/supervisor.sock

[supervisord]
logfile=supervisord.log
pidfile=supervisord.pid

[program:cat1]
command=cat

[program:cat2]
command=cat

[program:cat3]
command=cat

[group:foo]
programs=cat1,cat3

[supervisorctl]
serverurl=unix://%(here)s/supervisor.sock

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

पर्यवेक्षक आदेश को समूह नाम के साथ बुलाया जा सकता है:

supervisorctl restart foo:

साथ ही कई प्रक्रिया नामों के साथ:

supervisorctl restart foo:cat1 cat2

47
यह आश्चर्यजनक है कि गैर-तुच्छ यह कैसे पता लगाया गया कि एक प्रक्रिया समूह को आदेश जारी करते समय एक बृहदान्त्र को संलग्न करने की आवश्यकता है। धन्यवाद।
मफ्रोसिस

4
माना। मुझे लगता supervisorctl restart foo:*है कि क्या हो रहा है स्पष्ट है।
टॉम

तो सीधे ओपी के सवाल का जवाब देने के लिए, आप सीधे एक विशिष्ट प्रक्रिया को फिर से शुरू नहीं कर सकते। आप केवल उन समूहों को पुनः आरंभ कर सकते हैं, जिन्हें समूह टैग की आवश्यकता है?
सेरिन

@ मेरे अपने परीक्षण से, मैं उस सटीक निष्कर्ष पर पहुंचा। Anecdotally बोलते हुए, मैं .conf फ़ाइलों के अंत में एक समूह को देखने के लिए गया हूँ जिसमें सभी प्रक्रियाएँ हैं। दोहराया अवलोकन के रूप में, इससे कोई मतलब नहीं था। अब यह पूरी तरह से समझ में आता है :)
AlanSE

आप मेरा दिन :) बनाया
सुमित

3

चूंकि supervisorctlकमांड लाइन पर कई प्रक्रियाओं को स्वीकार करता है, आप कई प्रक्रियाओं को नियंत्रित करने के लिए शेल ब्रेस विस्तार (जैसे बाश में) का लाभ उठा सकते हैं:

supervisorctl restart process{1..4}

विस्तार किया जाता है खोल द्वारा में

supervisorctl restart process1 process2 process3 process4

जैसे कि आपने स्पष्ट रूप से टाइप किया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.