Como executar um comando sempre em segundo plano?

Como executar um comando sempre em segundo plano?

o comando abaixo, quando executo a partir do terminal, continuará postando a saída em message.log

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

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

O comando simplesmente imprime o log quando alguma entrada é feita.

Estou em um servidor Ubuntu 14.04.

Responder1

Você pode usar nohupcombinado com &:

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

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

Se quiser ter certeza de que ele ainda está em execução ou eliminá-lo, você pode usar ps:

ps ax | grep cf logs broker-analytics

Você poderá então ver o ID do processo, o que poderá ser feito, killse necessário.

informação relacionada