Mantendo um processo em execução em uma máquina Linux

Mantendo um processo em execução em uma máquina Linux

Eu escrevi um programa de servidor para minha empresa e agora gostaria de mantê-lo rodando no servidor Ubuntu.

Eu estava pensando em configurar um cronjob para reiniciar todo o sistema uma vez por semana (por motivos 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 de como devo fazer mantenha o processo em andamento.

Neste momento estou fazendo um

screen
./launch_server

e destacando-o. Esta é uma boa maneira de executar um programa exposto na Web em um servidor? Preciso de algo como daemontools ou runit por algum motivo?

Responder1

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

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

UsarSubir na vidaousistema(um script em /etc/init.d), dependendo da sua versão.

  1. Como faço para mantê-lo funcionando?

A abordagem mais simples seria adicionar um cron job que verifica se o nome do processo está no estado de execução e o reinicia se não estiver. Eu complementaria isso enviando um e-mail para você quando descobrir que esse é o caso, para que, se houver algo acontecendo com o sistema que o esteja matando repetidamente, você saberá. Eu também adicionaria o registro de data e hora ao programa, caso ainda não o tenha feito, para que você possa ter um registro de quando esses eventos ocorrem.

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

informação relacionada