Preciso iniciar um processo quando nossas caixas Linux/Unix (essas caixas são usadas como agentes de construção) estiverem iniciando (ou seja: após uma reinicialização). Usamos as seguintes distros:
- debian6
- Ubuntu 12.alguma coisa
- FreeBSD
- CentOS 6
- Suse 12.alguma coisa :)
Você pode me informar o que devo fazer para que isso aconteça?
Obrigado, F.
Responder1
A maneira mais fácil seria colocar seu comando em /etc/rc.d/rc.local. O script rc.local é executado depois que todos os outros scripts de inicialização do System V são concluídos.
Responder2
Em geral, o mesmo processo deve funcionar para todas essas distros, mas talvez seja necessário ajustá-las para se adequar à sua implementação específica.
Dê uma olhada nos "níveis de execução", determine em qual nível você deseja iniciar seus scripts (geralmente 3 para um servidor e 3 e 5 para um cliente gráfico) e siga isto:
Resumindo, você cria seu script de inicialização (melhor copiar e modificar um existente - por exemplo, chame-o de "myScript") e coloque-o em /etc/init.d. Então, em /etc/init.d/rcX.d (onde X é o seu nível de execução), coloque links para o script que você colocou em /etc/init.d. Os links devem ser nomeados SxxmyScript e KxxmyScript. Os links "S" são seguidos na inicialização - ou seja, quando o sistemaentraesse nível de execução, e os links "K" são executados quando o sistema sai desse nível de execução.
Distribuições mais recentes usamServiçosque são um toque mais elegante do que foi dito acima, mas o que foi dito acima deve funcionar.
Além disso, para completar, veja /etc/inittab. Isto não está disponível em todas as distribuições (ou seja, Ubuntu), mas deve estar presente no SuSE. Este é um retrocesso antigo, mas ainda é muito usado atualmente em ambientes mais antigos.