Ter um script executado constantemente

0

Eu tenho um script ruby e um executável qt. Ambos realizam praticamente a mesma tarefa, mas escutam em portas diferentes. Basicamente, eles são servidores de soquete UDP que atendem conexões de entrada em uma porta específica no meu servidor ubuntu remoto. Eles ouvem os pacotes UDP vindos de modems GSM de dispositivos GPS. Agora, agora eu posso ssh em meu servidor remoto e executar o script ruby para começar a ouvir as conexões para a porta mencionada: "ruby server.rb". Mas assim que eu saio e fecho a conexão ssh, o script presumivelmente pára de escutar. Eu quero que esse script continue escutando as conexões de entrada nessa porta para sempre, mesmo depois de eu sair do servidor.

Por exemplo:

sudo netstat -tulpn 
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      25391/mysqld    

Esse servidor mysqld escuta constantemente conexões de entrada para a porta 3306. Eu quero que meu script faça a mesma coisa. Eu quero ser capaz de executar o netstat e sempre ver meu programa em execução e escutando em uma porta especificada.

Qual é a melhor abordagem para essa situação? Crie um daemon? Ou usar nohup?

    
por JohnMerlino 31.05.2013 / 06:46

1 resposta

0

Use um programa chamado screen .

Instale-o no servidor e execute screen e qualquer programa que seja executado permanecerá ativo no servidor.

Para instalá-lo, execute

sudo apt-get install screen

Mais detalhes sobre outros comandos aqui link

    
por Meer Borg 31.05.2013 / 08:15