コマンドを常にバックグラウンドで実行するにはどうすればよいですか?

コマンドを常にバックグラウンドで実行するにはどうすればよいですか?

ターミナルから以下のコマンドを実行すると、出力がmessage.logに投稿され続けます。

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

ただし、ターミナルを閉じると動作が停止します。常にバックグラウンドで実行するにはどうすればよいですか? また、何らかの理由で実行が停止した場合、それをチェックして常に実行されていることを確認するための良い方法は何でしょうか?

このコマンドは、エントリが作成されたときにログを印刷するだけです。

私はUbuntuサーバー14.04を使用しています。

答え1

nohup以下と組み合わせて使用​​できます&:

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

このnohupコマンドは、プログラムがハングアップ信号(つまり、端末を閉じるときに送信される信号)を無視するようにします。もちろん、バック&グラウンドで実行されます。

まだ実行中かどうかを確認したり、終了したりする場合は、次を使用できますps

ps ax | grep cf logs broker-analytics

すると、必要に応じてプロセス ID を確認できるようになりますkill

関連情報