2012-02-28 24 views
12

उबंटू पर अपस्टार्ट का उपयोग करते समय मैं नौकरी शुरू करने के लिए कमांड जारी कैसे करूं यदि चल रहा है और पहले से चल रहा है तो पुनरारंभ करना। एक नए नोड में ऐप को तैनात करते समय नौकरी परिभाषित नहीं की जाती है।अपस्टार्ट प्रारंभ करें। पुन: प्रारंभ करें ubuntu

initctl restart JOB complains if not already running 
initctl start JOB complains if already running. 

मैं स्क्रिप्ट यह

initctl start JOB 
initctl restart JOB 

करने के लिए कर सकते हैं लेकिन यह करने के लिए सबसे अच्छी बात होने के लिए प्रतीत नहीं होता।

उत्तर

10

मैं एक ही समस्या के सामने था। अंतर्निहित अंतर्निहित सीधी "आलसी-स्टॉप-फिर-प्रारंभ" कमांड का छोटा, हमें स्क्रिप्ट करना है।

आह्वान शुरू करने और पुनः आरंभ अगर यह विफल:

initctl start JOB || initctl restart JOB 

यह स्क्रिप्ट शायद इस सवाल का जवाब हम दोनों के लिए देख रहे थे नहीं है बल्कि यह इतना छोटा हो कि यह उल्लेख करने के लिए है।

जब तक सेवा अच्छी तरह से काम करती है, यह चाल चलती है।

जब सेवाएं विफल होती हैं, तो यह स्क्रिप्ट दो बार विफल हो जाती है; उदाहरण के लिए, यदि सेवा बंद कर दी गई थी और वास्तव में शुरू करने में विफल रहता है, तो यह फिर से शुरू करने में विफल रहेगा।

निश्चित रूप से इसमें सुधार की तलाश है।

मुझे उम्मीद है कि इससे मदद मिलती है।

+1

धन्यवाद। मुझे पता है। अजीब है कि initctl इसका समर्थन नहीं करता है। नौकरी की पहचान की गई है। – Niclas

5

मैंने भी 'स्टार्ट या रीस्टार्ट' विधि की कोशिश की जो हार्मफेट्स ने सुझाव दिया, लेकिन परेशानियों में आ गया। इस दृष्टिकोण का उपयोग करते समय अपस्टार्ट स्क्रिप्ट के अपडेट लागू नहीं होंगे। इसके बजाय मैं इस है, जो काम करता है का उपयोग के रूप में मैं उम्मीद होती है: '। काम बंद करो अगर यह चल रहा है, तो यह शुरू'

sudo stop JOB || true && sudo start JOB 

यह मूलतः पढ़ता

2
sudo service JOB restart 

सेवा आदेश उबंटू में समझौता किया गया था यह कल का नवाब पर एक ही काम के रूप में यह sysvinit पर सबसे आम मामलों में होता है बनाने के लिए।

systemctl restart JOB 

कुछ अप्रत्याशित प्रभाव हैं, और सामान्य रूप से सावधानीपूर्वक अध्ययन करने से पहले अध्ययन किया जाना चाहिए। यह ज्यादातर वहां है ताकि आप नौकरी परिभाषा को फिर से लोड किए बिना नौकरी को पुनरारंभ कर सकें, जो वास्तव में असामान्य मामला है।

संबंधित मुद्दे