Mantendo um processo rodando em uma máquina linux

0

Eu escrevi um programa de servidor para a minha empresa e agora gostaria de mantê-lo em execução no servidor Ubuntu.

Eu estava pensando em configurar um cronjob para reiniciar o sistema inteiro uma vez por semana (para fins de segurança, para limpar a RAM em caso de vazamentos de memória que ainda não encontrei ... etc.), mas não tenho certeza como devo manter o processo?

Agora eu estou fazendo um

screen
./launch_server

e desanexando. Esta é uma boa maneira de executar um programa exposto na web em um servidor? Preciso de algo como daemontools ou runit por qualquer motivo?

    
por user3834459 27.01.2017 / 14:19

1 resposta

2

Sua pergunta é, na verdade, uma combinação de duas perguntas:

  1. Como executo um programa na inicialização?

Use Upstart ou systemd (um script em /etc/init.d ), dependendo da sua versão.

  1. Como posso mantê-lo em exibição?

A abordagem mais simples seria adicionar um trabalho cron que verifique se o nome do processo está no estado de execução e o reinicia, se não estiver. Eu complementaria isso se ele enviasse um e-mail quando descobrisse que isso é o caso, para que, se houver algo acontecendo com o sistema que está repetidamente matando-o, você saberá. Eu também adicionaria registro de registro de data e hora ao programa se ele já não o possui, para que você possa ter um registro de quando esses eventos ocorrem.

Se possível, o sinal ou condição que causou a morte também deve ser registrado para que você possa evitá-lo. Você pode até considerar adicionar os registros do programa aos seus e-mails automáticos.

    
por 28.01.2017 / 01:17