Não faço ideia por onde começar a procurar. Eu tenho lido sobre daemons e não entendi o conceito.
Mais detalhes :
- Escrevi um rastreador que nunca para e rastreia por RSS na internet.
- O rastreador foi escrito em java - portanto, é um jar agora.
- Sou administrador de uma máquina que possui o Ubuntu 11.04.
- Há algumas chances de a máquina travar, então eu gostaria que o rastreador fosse executado toda vez que você inicializasse a máquina.
- Além disso, eu gostaria que ele continuasse funcionando mesmo quando eu saísse. Não tenho certeza se isso é possível, mas na maioria das vezes estou desconectado e ainda quero que ele rastreie.
Alguma ideia? Alguém pode me apontar na direção certa?
Apenas procurando a solução mais simples.
Sim! É possível. :) O iniciante é o caminho a seguir para garantir que o serviço permaneça em execução. Possui cinco pacotes, todos instalados por padrão:
O aprendizado é muito agradável e vale a pena. Upstart tem um site: http://upstart.ubuntu.com/
fonte
3 sugestões rápidas ...
Crie um script S tart no
/etc/rc3.d
(modo do console multiusuário) com os scripts K correspondentes/etc/rc.0
e/etc/rc6.d
mate seu programa Java de maneira controlada quando o sistema desligar (nível de execução 0) ou reinicializar (nível de execução 6) Consulte Uma introdução aos níveis de execução .Você pode iniciar o aplicativo Java no nível de execução 2 (rc2.d), mas, como rastreador, ele precisará de TCP / IP. Portanto, verifique se o serviço de rede está disponível / iniciado no nível de execução 2 com antecedência. A rede definitivamente está no nível de execução 3.
/etc/init.d
contém todos os scripts de início / morte reais./etc/rcN.d
os diretórios contêm apenas links para eles, prefixados com S ou K para iniciá-los ou eliminá-los, respectivamente, por nível de execução N.Um processo executado por
crond
deve persistir entre os logouts. Talvez adicione ao seu crontab.Um processo executado com
nohup
também deve persistir. Consulte nohup: execute um comando mesmo após o logout .Por padrão,
myapp.jar
a saída padrão irá para um arquivo chamado./nohup.out
, ou$HOME/nohup.out
se o primeiro não for gravável.fonte
Também esteja ciente ao fazer aplicações com:
Ter permissões 0755 e usar ou obter antes do seu .sh o caminho. Digamos que seu script esteja em /root/test.sh, você deve primeiro mudar para CD
/root/
antes de acessartest.sh
.Portanto, a melhor maneira é criar um SH no init.d e alterar o caminho para o seu
sh
e executá-lo na função start.fonte
Scripts de inicialização simples com verificação da versão Java para o auth-agent do Linux e o auth-agent.bat do Windows
fonte
A maneira mais fácil é usar
supervisord
. Por favor, veja todos os detalhes em http://supervisord.org/Você também pode ver mais detalhes aqui:
Executando um arquivo jar executável quando o sistema inicia
https://www.digitalocean.com/community/tutorials/how-to-install-and-manage-supervisor-on-ubuntu-and-debian-vps
fonte