सवाल मैं स्टार्टअप पर चलाने के लिए एक सेवा को कैसे कॉन्फ़िगर कर सकता हूं


मेरे पास एक डिमन है जो ठीक से चलता है अगर मैं इसे मैन्युअल रूप से शुरू करता हूं service आदेश:

ricardo@ricardo-laptop:~$ sudo service minidlna start                   
 * Starting minidlna minidlna                                                              [ OK ] 

लेकिन पीसी रीबूट होने पर ऑटो स्टार्ट करने के लिए कॉन्फ़िगर नहीं किया गया है।

मैं इसे स्वचालित रूप से प्रारंभ करने के लिए कैसे कॉन्फ़िगर कर सकता हूं, भले ही पीसी में कोई भी लॉग इन न हो?


209
2017-10-25 13:46


मूल


@ user154721 ऑटोस्टार्ट काम करने के लिए आपने अद्यतन-आरसीडीडी क्या तर्क दिए? मैंने विभिन्न विकल्पों की कोशिश की है लेकिन कोई भाग्य नहीं है। - BennyTheBen


जवाब:


sudo update-rc.d minidlna defaults

यह स्वचालित स्टार्टअप सिस्टम में सेवा जोड़ना चाहिए। लेकिन अगर आपको मिलता है:

System start/stop links for /etc/init.d/minidlna already exist.

आदेश करो

sudo update-rc.d minidlna enable

अनुलेख: अधिक जानकारी के लिए आदेश टाइप करके अद्यतन-आरसीडीडी के लिए मैन पेज को देखें man update-rc.d


241
2017-10-25 14:09



धन्यवाद, लेकिन अगर मुझे यह आदेश चलाते समय यह आउटपुट मिलता है तो क्या होगा ?: System start/stop links for /etc/init.d/minidlna already exist. - Ricardo Reyes
मैंने / var / log पर सभी फ़ाइलों में minidlna के लिए grep'd किया और स्टार्टअप पर सेवा का कोई उल्लेख नहीं मिला - Ricardo Reyes
अगर minidlna किसी भी लॉगफाइल को नहीं लिखता है तो आपको यह कहीं भी नहीं मिलेगा। क्या यह असफल हो सकता है क्योंकि शुरू होने पर कोई नेटवर्क कनेक्शन नहीं है? कॉन्फ़िगरेशन को देखने का प्रयास करें यदि यह संभव है कि यह गलत है कि यह पता लगाने के लिए डीबगिंग और / या लॉगिंग चालू हो। - LassePoulsen
@ रिकार्डोरेस का उपयोग करें sudo update-rc.d -f minidlna remove मौजूदा लिंक को हटाने के लिए। - Dogweather
मुझे त्रुटि अद्यतन-आरसीडीडी से नीचे मिल रहा है: /etc/init.d/usermanage: फ़ाइल मौजूद नहीं है - Rizwan Patel


कभी-कभी आपको बूट प्रक्रिया पर एक स्क्रिप्ट चलाने की आवश्यकता होती है, उदाहरण के लिए बूट प्रक्रिया पर iptables कॉन्फ़िगरेशन चलाएं। इसलिए आपको प्रत्येक रीबूटिंग मैन्युअल रूप से स्क्रिप्ट चलाने की आवश्यकता नहीं है।

आप अपनी स्क्रिप्ट को उबंटू में बूट प्रक्रिया पर इसे जोड़कर चला सकते हैं /etc/init.d/rc.local फ़ाइल। नीचे दिए गए चरणों को देखें।

  1. खुला /etc/rc.local इस आदेश के साथ फ़ाइल करें:

    vim /etc/rc.local
    
  2. अपनी स्क्रिप्ट जोड़ें जिसे आप बूट प्रक्रिया पर चलाना चाहते हैं, उदाहरण के लिए:

    sh /home/ivan/iptables.sh 
    echo 'Iptable Configured!'
    
  3. उस फ़ाइल में शामिल टिप्पणियों की समीक्षा करें और सुनिश्चित करें कि बाहर निकलने वाला 0 अंत में है।

  4. फाइलों को सहेजें। और आपकी स्क्रिप्ट बूट प्रक्रिया पर चलेगी।


31
2017-10-25 13:52



उबंटू 12.04 में /etc/init.d/rc.local की टिप्पणियां कहती हैं, "शॉर्ट-विवरण: रन /etc/rc.local अगर यह मौजूद है", तो शायद /etc/rc.local पर स्क्रिप्ट जोड़ना बेहतर विचार होगा? - Sanghyun Lee
क्या यह विधि सेवा के लिए "शट डाउन" कमांड जारी करेगी या ओएस शट डाउन पर प्रक्रिया को मार डालेगी? - Vadim Chekan
Vadim, rc.local बस बूट पर चलाया जाता है, शटडाउन पर कुछ भी हासिल नहीं किया जाता है। शट डाउन पर ओएस द्वारा प्रक्रिया की संभावना अधिक होगी। - Weboide
एफवाईआई: के बीच का अंतर rc.local बनाम इसे जोड़ने के लिए, यह है कि rc.local init स्टार्टअप अनुक्रम के अंत में निष्पादित किया जाता है, इसके हिस्से के बजाय - BobTuckerman


  • स्टार्टअप पर एक डिमन शुरू करने के लिए:

    update-rc.d service_name defaults
    
  • दूर करना:

    update-rc.d -f service_name remove
    

डिफ़ॉल्ट => डिफ़ॉल्ट रन स्तर 2,3,4 और 5

उदाहरण:

update-rc.d tomcat7 defaults

26
2018-01-15 12:20



जब मैं यह आदेश करता हूं, तो मुझे "/etc/init.d/tomcat7 के लिए सिस्टम प्रारंभ / बंद लिंक पहले से मौजूद" मिलता है। हालांकि, जब मैं रीबूट करता हूं, तो यह टॉमकैट शुरू नहीं करता है, मुझे हमेशा "सेवा tomcat7 प्रारंभ" करना होता है। - John Little
मेरे मामले में sudo अद्यतन-rc.d myservice डिफ़ॉल्ट हमेशा आउटपुट के साथ पूरा करता है और सेवा बूट-अप या साथ शुरू नहीं होगी सुडो सेवा myservice शुरू करें जो चुपचाप पूरा करता है। sudo /etc/init.d/myservice शुरू करेंहालांकि काम करता है - axk