¿Cómo ejecutar un comando en segundo plano siempre?

¿Cómo ejecutar un comando en segundo plano siempre?

el siguiente comando cuando lo ejecuto desde la terminal seguirá publicando el resultado en message.log

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

Sin embargo, si cierro mi terminal dejará de funcionar. ¿Cómo hago para que se ejecute en segundo plano todo el tiempo? Además, si por algún motivo se detiene la ejecución, ¿cuál sería un buen enfoque para verificarlo y asegurarse de que siempre esté ejecutándose?

El comando simplemente imprime el registro cuando se realiza alguna entrada.

Estoy en un servidor Ubuntu 14.04.

Respuesta1

Podrías usarlo nohupcombinado con &:

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

El nohupcomando hace que el programa ignore las señales de colgar (es decir, las que se envían al cerrar el terminal)y, &por supuesto, lo ejecuta en segundo plano.

Si desea asegurarse de que todavía se esté ejecutando o eliminarlo, puede usar ps:

ps ax | grep cf logs broker-analytics

Luego debería poder ver el ID del proceso, lo cual puede hacer killsi es necesario.

información relacionada