nohup.out以外のログファイルにnohup出力をリダイレクトする方法はありますか?


112

nohupプロセスがハングアップの影響を受けないように、プログラムを頻繁に使用します。したがって、プログラムprogramをハングアップの影響を受けないようにするには、コマンドを使用します

nohup program &

&プロセスをバックグラウンドで配置する場所。

起動時にnohup、次のメッセージが表示されます。

nohup:出力を「nohup.out」に追加します

出力をファイルに送信する方法はありますnohup.outか?多くのnohup場合、を使用して同じディレクトリで多くのプロセスを実行しますが、これを行うと、すべての出力が1つのnohup.outファイルにまとめられます。

マニュアルページ(たとえば、ここ)には、ログファイルを指定するオプションがないようです。これを確認してもらえますか?また、この問題をどのように回避できるかについての考えはありますか?


3
後半年が、良い総合的な答えはここに与えられた:stackoverflow.com/questions/4549489/...
ラーフルJhaは

回答:


132

GNU coreutilsのnohupマニュアルページには、通常のリダイレクトを使用できることが示されています。

標準入力が端末の場合、/ dev / nullからリダイレクトします。標準出力が端末の場合、可能であれば出力を 'nohup.out'に追加し、そうでない場合は '$ HOME / nohup.out'に追加します。標準エラーが端末の場合、標準出力にリダイレクトします。出力をFILEに保存するには、「nohup COMMAND> FILE」を使用します。

編集:最初はリンクを読みませんでした。の異なるバージョンを使用している可能性がありますがnohup、このセクションでは通常のリダイレクトを引き続き使用できることを示しています。

 nohup.out          The output file of the nohup execution if
                    standard  output is a terminal and if the
                    current directory is writable.

標準出力と標準エラーを異なるファイルにリダイレクトできます。

nohup myprogram > myprogram.out 2> myprogram.err

または同じファイルに:

nohup myprogram > myprogram.out 2>&1

54
具体的に答えるために:使用nohup program > program.out &に出力を書き込むためにprogram.out代わりにnohup.out
ジム・パリ

4
これはGNUユーティリティに固有のものではなく、動作はPOSIXで指定されています。
ジル

3
うまくいかないようです。myprogramの出力ではなくnohupコマンドの出力をリダイレクトします。
クリス

2
@Krisリダイレクションは、末尾の&文字の前に行われる必要があります
yunzen
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.