Linux ubuntu [बंद] के तहत स्टार्टअप पर स्वचालित रूप से प्रोग्राम चलाएं


140

मुझे हर बार मेरे ubuntu linux को स्टार्टअप करने के लिए एक कार्यक्रम की आवश्यकता होगी। इसलिए मुझे इसे अपने स्टार्टअप कार्यक्रमों की सूची में जोड़ना होगा। बस एक समस्या: मुझे इसे टर्मिनल के माध्यम से करना होगा।



23
@ फ़्लेक्सो यह उत्तर आपके द्वारा दिए गए लिंक में से किसी में भी मौजूद नहीं है। +1 इस प्रश्न और उत्तर के लिए
फ्रांसिस्को वाल्डेज़

2
वास्तव में, यहां उत्तर उन सवालों के पहले से संदर्भित है।
विल्सन एफ

4
ऐसा करने के लिए एक सरल, पोर्टेबल तरीके के लिए, आप क्रोन का उपयोग कर सकते हैं। crontab -eअपने उपयोगकर्ता के क्रेस्टैब को संपादित करने के लिए चलाएं ; प्रत्येक बूट पर @reboot commandचलाने के लिए जोड़ें command
शाम

2
मुझे नहीं पता कि इसकी कोई डुप्लिकेट है या नहीं, लेकिन यह पहली गूगल हिट है ..
व्लादिमीर

जवाबों:


178
sudo mv /filename /etc/init.d/
sudo chmod +x /etc/init.d/filename 
sudo update-rc.d filename defaults 

स्क्रिप्ट अब बूट पर शुरू होनी चाहिए। ध्यान दें कि यह विधि हार्ड लिंक और प्रतीकात्मक लिंक ( ln) दोनों के साथ काम करती है ।

संपादित करें

बूट प्रक्रिया में इस बिंदु पर PATH अभी तक सेट नहीं किया गया है, इसलिए यह महत्वपूर्ण है कि संपूर्ण पथ का उपयोग किया जाए। लेकिन, जैसा कि स्टीव एचएचएच द्वारा टिप्पणियों में कहा गया है, स्पष्ट रूप /etc/init.d/filenameसे अपडेट-आरओडी कमांड के लिए पूर्ण फ़ाइल पथ ( ) घोषित करना लिनक्स के अधिकांश संस्करणों में मान्य नहीं है। अद्यतन- rc.d के लिए मैनपेज के अनुसार , दूसरा पैरामीटर एक स्क्रिप्ट है जिसमें स्थित है /etc/init.d/*। इसे दर्शाने के लिए कोड के ऊपर अपडेट किया गया है।

एक और संपादन

टिप्पणियों (चार्ल्स ब्रांट द्वारा) के रूप में भी, /filenameएक init शैली स्क्रिप्ट होना चाहिए। एक अच्छा खाका भी प्रदान किया गया था - https://github.com/fhd/init-script-template

एक अन्य लेख के लिए एक और लिंक संभव लिंक रोट से बचने के लिए (यदि GitHub की मृत्यु हो गई है, हालांकि यह saddening किया जाएगा) - http://www.linux.com/learn/tutorials/442412-managing-linux-daemons-with-init-scripts

अभी तक संपादित करें

जैसा कि टिप्पणियों में बताया गया है (रसेल यान द्वारा), यह केवल अपडेट-आरडीडी के डिफ़ॉल्ट मोड पर काम करता है।

अपडेट-आरडीडी के मैनुअल के अनुसार, यह दो मोड पर चल सकता है, "विरासत मोड का उपयोग करने वाली मशीनों में एक फ़ाइल होगी /etc/init.d/.legacy-bootordering", जिस स्थिति में आपको कमांड लाइन तर्कों के माध्यम से अनुक्रम और रनवे कॉन्फ़िगरेशन पास करना होगा।

उपरोक्त उदाहरण के लिए निर्धारित समतुल्य तर्क है

sudo update-rc.d filename start 20 2 3 4 5 . stop 20 0 1 6 .


1
एक FYI के रूप में, विकल्प "चूक" रन स्तर 2, 3, 4 और 5. में स्क्रिप्ट को शुरू करने के लिए एक लिंक डालता है (और 0, 1 और 6. में रुकने के लिए एक लिंक डालता है)
डेव लेस्ली

5
मैंने सिर्फ उबंटू सर्वर 12.04 एलटीएस में यह कोशिश की, लेकिन 12.04 में आपके पास /etc/init.d उपसर्ग नहीं हो सकता। यह सिर्फ है sudo update-rc.d filename defaults
स्टीव एचएचएच

1
@ पुक दोनों हार्ड लिंक और प्रतीकात्मक लिंक इस विधि के साथ काम करेंगे
डेव लासली

14
बस इस मामले में उस / फ़ाइल नाम को जोड़ना चाहता था एक init शैली स्क्रिप्ट होना चाहिए। यहाँ अपनी खुद की कस्टम इनिट स्क्रिप्ट शुरू करने के लिए एक टेम्प्लेट है: github.com/fhd/init-script-template
Charles Brandt

1
इसे पढ़ना - unix.stackexchange.com/questions/28679/… - उत्तर के साथ मददगार होगा
अर्जुन श्रीधरन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.