İşte sorunuzu cevaplayacak gibi görünen http://www.debian-administration.org/articles/28 ' den alıntı .
Not: Aşağıdaki örnek komut dosyasında start)
, gerçekten programınızı başlatmak için " " bölümüne bir çağrı ekleyin . Komut dizisinin işlevselliğini sistemi yeniden başlatmadan test edebilirsiniz: tam yol ile çağırın ve " start
" veya " stop
" parametresini verin
İşte gidiyor:
Debian, sistem çalışma seviyesi değiştiğinde komutları çalıştırmak için Sys-V benzeri bir init sistemi kullanır;
Makine önyüklendiğinde başlatmak için yeni bir servis eklemek isterseniz, gerekli betiği dizine eklemelisiniz /etc/init.d/
. Bu dizinde zaten mevcut olan komut dosyalarının çoğu size yapabileceğiniz şeylerin bir örneğini verecektir.
İşte iki bölüme ayrılmış çok basit bir script, her zaman çalışan kod ve "start" veya "stop" ile çağrıldığında çalışan kod.
#! /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
Dosyanızı doğru yere kaydettikten sonra, " chmod 755 /etc/init.d/blah
" çalıştırılarak çalıştırılabilir olduğundan emin olun .
Ardından, komut dosyası sistem düştüğünde veya ortaya çıktığında yürütülmesini sağlamak için uygun sembolik bağlantıları eklemeniz gerekir.
Bunu yapmanın en basit yolu, Debian'a özgü komutu kullanmaktır 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
daha iyi kullandığı gibi (programın kendisi cansızlaştırmakla birlikte) arka plana basitçe "&" kullanmayı önermem. Hangi dağıtımı kullanıyorsun? Masaüstü MIME türleri dışında, dosya uzantıları * nix'te anlamsızdır ve çalıştırılabilir dosyalarının bulunmamasını tercih eder.