Aqui está o trecho de http://www.debian-administration.org/articles/28 que parece responder à sua pergunta.
Nota: No script de exemplo abaixo, basta adicionar uma chamada à seção " start)
" para realmente iniciar seu programa. Você pode testar a funcionalidade do script sem reiniciar o sistema: chame-o com o caminho completo e dê a ele um parâmetro " start
" ou " stop
"
Aqui vai:
O Debian usa um sistema init como o Sys-V para executar comandos quando o nível de execução do sistema muda - por exemplo, no momento da inicialização e do desligamento.
Se você deseja adicionar um novo serviço para iniciar quando a máquina inicializar, adicione o script necessário ao diretório /etc/init.d/
. Muitos dos scripts já presentes nesse diretório fornecem um exemplo do tipo de ação que você pode fazer.
Aqui está um script muito simples, dividido em duas partes: código que sempre é executado e código que é executado quando chamado com "start" ou "stop".
#! /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
Depois de salvar seu arquivo no local correto, verifique se ele é executável executando " chmod 755 /etc/init.d/blah
".
Em seguida, você precisa adicionar os links simbólicos apropriados para fazer com que o script seja executado quando o sistema for desativado ou for ativado.
A maneira mais simples de fazer isso é usar o comando específico do 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
lida com isso melhor (embora seja preferível que o próprio programa daemonize). Que distro você está usando? Fora dos tipos MIME da área de trabalho, as extensões de arquivo não fazem sentido no * nix e é preferível que os executáveis não tenham um.