Ось уривок з http://www.debian-administration.org/articles/28, який, здається, відповідає на ваше запитання.
Примітка. У наведеному нижче прикладі просто додайте виклик до розділу, який " start)
" фактично запускає вашу програму. Ви можете перевірити функціональність сценарію, не перезавантажуючи систему: викликайте його з повним шляхом та надаючи йому параметр " start
" або " stop
"
Ось:
Debian використовує подібну Sys-V систему init для виконання команд при зміні рівня роботи системи - наприклад, під час завантаження та відключення.
Якщо ви хочете додати нову послугу для запуску, коли машина завантажується, ви повинні додати необхідний скрипт до каталогу /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
".
Тоді вам потрібно додати відповідні символічні посилання, щоб спричинити виконання сценарію, коли система виходить з ладу або з'являється.
Найпростіший спосіб зробити це - використовувати специфічну для Debian команду 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 не мають сенсу, і бажано, щоб його не було.