verificar se o processo java está sendo executado e reexecutar se não estiver em execução

3

No ubuntu 15.04, estou executando o aplicativo java através de sessões vnc. Eu tenho 8 sessões definidas que são iniciadas durante a inicialização do sistema. Minha pergunta é, como criar um script que verifica se o processo ainda está sendo executado nas várias exibições de vnc (digamos: 1 a: 8) e reiniciar o processo java se eu detectar que uma determinada sessão vnc não está sendo executada ?

Obrigado

    
por john 20.11.2015 / 01:27

2 respostas

1

O Ubuntu 15.04 foi desenvolvido para esse tipo de necessidade.

O seguinte é um exemplo de arquivo .service que você precisa escrever para sua aplicação

[Unit]
Description=Some kind of description

[Service]
Type=simple
ExecStart=<path to your bin with args if needed>
Restart=on-failure

Salve este arquivo com o nome <your-app-name>.service em /etc/systemd/system/ e execute o seguinte para iniciá-lo

sudo systemctl start <your-app-name>

Se você deseja que ele execute a inicialização do anúncio, ative o serviço

sudo systemctl enable <your-app-name>

No seguinte link , você pode encontrar mais informações para dobrar o arquivo acima para suas necessidades

    
por 20.11.2015 / 09:06
0

Eu recomendo o pacote runit ou daemontools , que são muito semelhantes. São ferramentas sólidas que permitem executar processos continuamente e reiniciá-los automaticamente.

Este software inicia com seus scripts inittab ou rc e você configura runit ou daemontools para iniciar e monitorar seus processos.

Você tem um controle refinado sobre todos os processos, o registro está embutido e, como esses pacotes iniciam seus processos e esperam por eles, reiniciará os processos mortos automaticamente. Ele também monitora as reinicializações rápidas e as acelerações de volta nesse caso, de acordo com os parâmetros que você pode definir como opção.

Um dos outros desses dois pacotes provavelmente está disponível em um repositório para o seu sistema operacional (você não mencionou qual deles). Ambos estão disponíveis nos repositórios Debian e Ubunut e eu sei que há um repositório para o CentOS.

Aqui está uma página que discute essas duas opções e outras: link

    
por 20.11.2015 / 07:53