Como executar um comando em background sempre?

1

o comando abaixo quando eu corro do terminal vai continuar postando a saída para message.log

cf logs broker-analytics > /var/www/cfbrokerlogs/message.log

No entanto, se eu fechar meu terminal, ele irá parar de funcionar. Como posso executá-lo em segundo plano o tempo todo? Além disso, se por algum motivo, se interromper a execução, o que seria uma boa abordagem para verificar isso e garantir que esteja sempre em execução?

O comando simplesmente imprime o log quando há qualquer entrada feita.

Eu estou em um servidor Ubuntu 14.04.

    
por user3846091 26.01.2015 / 04:48

1 resposta

2

Você pode usar nohup combinado com & :

nohup cf logs broker-analytics > /var/www/cfbrokerlogs/message.log &

O comando nohup faz com que o programa ignore os sinais de desligamento (isto é, aqueles que são enviados ao fechar o terminal) , e o & , claro, o executa em segundo plano.

Se você quiser ter certeza de que ele ainda está sendo executado ou desativado, use ps :

ps ax | grep cf logs broker-analytics

Você deve poder ver o ID do processo, que pode kill , se necessário.

    
por 26.01.2015 / 05:06