यहाँ http://www.debian-administration.org/articles/28 का अंश दिया गया है, जो आपके प्रश्न का उत्तर देता है।
नोट: उदाहरण के लिए नीचे दी गई स्क्रिप्ट में, start)
वास्तव में आपके प्रोग्राम को लॉन्च करने के लिए " " सेक्शन में कॉल जोड़ें । आप सिस्टम को रिबूट किए बिना स्क्रिप्ट की कार्यक्षमता का परीक्षण कर सकते हैं: इसे पूर्ण पथ के साथ कॉल करें और इसे " start
" " " और " stop
" के एक पैरामीटर दें
यहाँ जाता हैं:
डेबिन कमांड निष्पादित करने के लिए init सिस्टम की तरह Sys-V का उपयोग करता है जब सिस्टम रनवेल में परिवर्तन होता है - उदाहरण के लिए बूटअप और शटरिंग टाइम।
यदि आप मशीन को बूट करने के लिए एक नई सेवा शुरू करना चाहते हैं तो आपको निर्देशिका में आवश्यक स्क्रिप्ट जोड़ना चाहिए /etc/init.d/
। उस निर्देशिका में पहले से मौजूद कई स्क्रिप्ट आपको उन चीजों का एक उदाहरण देंगे, जो आप कर सकते हैं।
यहाँ एक बहुत ही सरल लिपि है जिसे दो भागों में विभाजित किया गया है, कोड जो हमेशा चलता रहता है, और कोड जो "स्टार्ट" या "स्टॉप" के साथ बुलाया जाता है।
#! /bin/sh
# /etc/init.d/blah
#
# Some things that run always
touch /var/lock/blah
# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "Starting script blah "
echo "Could do more here"
;;
stop)
echo "Stopping script blah"
echo "Could do more here"
;;
*)
echo "Usage: /etc/init.d/blah {start|stop}"
exit 1
;;
esac
exit 0
एक बार जब आप अपनी फ़ाइल को सही स्थान पर सहेज लेते हैं, तो सुनिश्चित करें कि यह " chmod 755 /etc/init.d/blah
" चलाकर निष्पादन योग्य है ।
फिर आपको सिस्टम को नीचे जाने, या ऊपर आने पर स्क्रिप्ट को निष्पादित करने के लिए उपयुक्त प्रतीकात्मक लिंक जोड़ने की आवश्यकता है।
ऐसा करने का सबसे सरल तरीका डेबियन-विशिष्ट कमांड का उपयोग करना है update-rc.d
:
root@skx:~# update-rc.d blah defaults
Adding system startup for /etc/init.d/blah ...
/etc/rc0.d/K20blah -> ../init.d/blah
/etc/rc1.d/K20blah -> ../init.d/blah
/etc/rc6.d/K20blah -> ../init.d/blah
/etc/rc2.d/S20blah -> ../init.d/blah
/etc/rc3.d/S20blah -> ../init.d/blah
/etc/rc4.d/S20blah -> ../init.d/blah
/etc/rc5.d/S20blah -> ../init.d/blah
start-stop-daemon
हैंडल की तरह कुछ इसे बेहतर करता है (हालांकि यह बेहतर है कि कार्यक्रम खुद को निष्क्रिय करता है)। आप किस डिस्ट्रो का उपयोग कर रहे हैं? डेस्कटॉप MIME प्रकारों के बाहर, फ़ाइल एक्सटेंशन * nix में अर्थहीन हैं और इसका पसंदीदा कार्य निष्पादन योग्य नहीं है।