जवाबों:
डेबियन पर, सेवा और एप्लिकेशन बूट और शटडाउन स्क्रिप्ट को रखा जाना चाहिए /etc/init.d/
।
डेबियन एक उदाहरण स्क्रिप्ट प्रदान करता है /etc/init.d/skeleton
जिसे आप अपने विशेष एप्लिकेशन के लिए अपने स्वाद में संशोधित कर सकते हैं।
एक बार इसके स्थान पर कॉल करें:
# update-rc.d YOURAPP defaults
डेबियन को आप के लिए /etc/rc?.d/
सहानुभूति जोड़ें ।
यदि आप मेनू या चित्रमय इंटरफ़ेस पसंद करते हैं, तो sysv-rc-conf
या ksysv
पैकेज पर एक नज़र डालें ।
आप अपनी स्क्रिप्ट को /etc/rc.local से कॉल कर सकते हैं , इससे पहले कि लाइन 0 से बाहर निकले
अपने ऐप को बंद करने के लिए, मैं /etc/rc0.d में स्क्रिप्ट डालने का सुझाव दूंगा । आपको अपर केस एक साथ इसे नाम की जरूरत है कश्मीर , और फिर एक 2 अंकों की संख्या है जो इन लिपियों चलाए जा रहे हैं, और फिर एक नाम निर्दिष्ट करता है। इसे एक पैरामीटर "स्टॉप" के साथ कहा जाएगा, लेकिन आप एक साधारण स्टॉप स्क्रिप्ट के लिए इसे अनदेखा कर सकते हैं।
स्टार्टअप के लिए इस पर एक नजर है ।
शटडाउन के लिए, एक लिंक बनाएं / अपनी स्क्रिप्ट को /etc/rcX.d फ़ोल्डरों में से एक में कॉपी करें जहां एक्स रनले है जिसे आप इसे निष्पादित करना चाहते हैं। 0 डेबियन I के लिए शटडाउन रनवे है।
सबसे आसान मौजूदा स्क्रिप्ट को संशोधित करना है, मेरे सिस्टम में काम करता है, ध्वनियों के लिए उपयोग किया जाता है :)
/etc/init.d/rc.local
, फ़ाइल के अंत में अपना श जोड़ें, पहले: (लॉगिन "स्क्रीन" से ठीक पहले इसे निष्पादित करेगा)/etc/init.d/halt
, आरंभिक टिप्पणियों के ठीक बाद, फ़ाइल की शुरुआत में अपना श जोड़ें/etc/init.d/reboot
डेबियन जेसी के बाद से, पुराने init
कार्यक्रम को बदल दिया गया है systemd
!
इसे स्वयं देखें। चलाएँ: ls -l /sbin/init
और देखें कि यह किस ओर इशारा कर रहा है। इन दिनों यह systemd
( /sbin/init -> /lib/systemd/systemd
), एक नए और बेहतर आरंभीकरण कार्यक्रम की ओर इशारा करता है।
तो यहाँ और अन्य ANSWERS अब बाहर हैं !!!
* जबकि आप अभी भी सिस्टम-वी टूल्स के साथ स्क्रिप्ट को पुराने तरीके से स्थापित कर सकते हैं, यह आम तौर पर बोलने वाला एक अच्छा विचार नहीं है।
man systemd.service
कहते हैं: *
यदि किसी निश्चित नाम के तहत एक सेवा का अनुरोध किया जाता है, लेकिन कोई इकाई कॉन्फ़िगरेशन फ़ाइल नहीं मिलती है, तो Systemd एक ही नाम से SysV init स्क्रिप्ट की तलाश करता है ... और गतिशील रूप से उस स्क्रिप्ट से एक सेवा इकाई बनाता है। यह SysV के साथ संगतता के लिए उपयोगी है। ध्यान दें कि यह संगतता काफी व्यापक है लेकिन 100% नहीं है।
आपके हिसाब से यह आसान है। (-:
यहां बूट-अप या शटडाउन प्रोग्राम इंस्टॉल करने की नई और पसंदीदा विधि है।
systemd
आप के साथ पहले एक इकाई फ़ाइल बनाना चाहते हैं । एक इकाई फ़ाइल ज्यादातर घोषणाएँ है, कोड नहीं।
फिर आप उस यूनिट systemctl
को सक्षम या शुरू करने के लिए कमांड का उपयोग करेंगे ।
systemd
आपके लिए बहुत से काम करता है, यह आसान बनाता है, उदाहरण के लिए, एक महत्वपूर्ण कार्यक्रम को स्वचालित रूप से फिर से शुरू करना अगर यह दुर्घटनाग्रस्त हो जाता है या अन्यथा मारा जाता है। इसके अलावा यह आपके कार्यक्रम को कहां और कब डिफ़ॉल्ट रूप से बंद करता है, इसके लिए आपके हिस्से पर कोई अतिरिक्त काम नहीं करना चाहिए।
systemd
यहाँ के बारे में जानने के लिए शुरू करें:
डेबियन और अन्य जगहों से और आदि और आदि ।
इसके साथ शुरू करने के लिए मैन पेज:
man systemd.unit
- सामान्य रूप से इकाई फ़ाइलों के बारे में
man systemd.service
- सेवा इकाई फ़ाइलों के बारे में, जैसे डेमॉन और एकल रन प्रोग्राम।
man systemctl
- कमांड लाइन यूजर इंटरफेस
man journalctl
- देखें कि सिस्टम ने क्या किया है
man systemd
- इनिट प्रोग्राम के बारे में ही
विभिन्न प्रकार की यूनिट फाइलें भी हैं, जैसे
man systemd.target
- समूहों और आम सिंक किए गए लक्ष्यों के लिए।
एक बार जब आप ऊपर की मूल बातें पचा लेते हैं, तो man -k systemd
अन्य संबंधित मैन पेज खोजने के लिए खुदाई करते हैं।
आप जो भी करते हैं, डेबियन पर इनमें से किसी का उपयोग नहीं करते हैं :
update-rc.d
- स्थापना और सिस्टम-वी शैली init स्क्रिप्ट लिंक को हटा देंsysv-rc-conf
- इनसाइट स्क्रिप्ट लिंक की तरह SysV के लिए रन-स्तरीय कॉन्फ़िगरेशनrunlevel
- पिछले और वर्तमान SysV रनवे को प्रिंट करेंBUM
- बी oot यू पी एम एगर - एक ग्राफिकल रनलेवल संपादकsystemadm
- सिस्टम सिस्टम और सर्विस मैनेजर जब मैं बूट करता हूं तो यह यूनिट फाइल NoIP.com डेमॉन शुरू करती है, और जब मैं शटडाउन करता हूं तो इसे बंद कर देता है।
यह डेमन, समय-समय पर, मेरे DDNS ( D ynamic DNS ( D omain N ame S erver)) प्रदाता के डेटा बेस को अपडेट करने के लिए मेरा वर्तमान आईपी पता भेजता है , इस प्रकार मेरे डोमेन का नाम मेरे कंप्यूटर पर इंगित करता रहता है जहाँ भी यह यात्रा करता है।
यह यूनिट फ़ाइल इस सेटिंग फ़ाइल में मेरे सिस्टम पर स्थित है: /etc/systemd/system/noip2.service
यहाँ इकाई फ़ाइल में क्या है:
# Comments can only go at the beginning of the line!
[Unit]
Description=Start the NoIP IP update daemon. This runs every 30 minutes and reports our current IP to NoIP.com to update Love2d.ddns.net.
Documentation=https://no-ip.com/
Documentation=file:///nobak/Installers/NoIP/noip-2.1.9-1/README.FIRST
[Service]
# 'forking' because process returns after starting daemon (traditional unix daemon).
Type=forking
# This program runs and returns, leaving the running daemon
ExecStart=/usr/local/bin/noip2
# Be in no hurry to start this. Max nice is +19.
Nice=15
# If it dies for any reason, then restart it
Restart=always
[Install]
# Installs a hook to use this unit file when the system boots or shuts down
WantedBy=multi-user.target
मैन्युअल रूप से एक इकाई फ़ाइल चलाएँ , (उदाहरण के लिए परीक्षण):
$ sudo systemctl start noip2
। $ sudo systemctl restart noip2
। $ sudo systemctl stop noip2
। प्रारंभ या बंद होने पर स्वचालित रूप से एक इकाई फ़ाइल चलाने के लिए सिस्टम कॉन्फ़िगर करें :
$ sudo systemctl enable noip2
। $ sudo systemctl disable noip2
।लॉग देखें
$ sudo journalctl -u noip2