私は頻繁にプログラムNohup
を使用して、プロセスがハングアップの影響を受けないようにしています。したがって、プログラムをprogram
がハングアップの影響を受けないようにするには、次のコマンドを使用します。
Nohup program &
ここで、&
はプロセスをバックグラウンドで実行します。
開始すると、Nohup
から次のメッセージが表示されます。
Nohup:出力を `Nohup.out 'に追加
出力をNohup.out
以外のファイルに送信する方法はありますか? Nohup
を使用して同じディレクトリで多くのプロセスを実行したいことがよくありますが、これを実行すると、すべての出力が1つのNohup.out
ファイルにまとめられます。
マニュアルページ(たとえば here )には、ログファイルを指定するオプションがないようです。これを確認してもらえますか?また、この問題を回避する方法について何か考えはありますか?
GNU coreutils Nohup
manページは、通常のリダイレクトを使用できることを示しています。
標準入力が端末の場合、/ dev/nullからリダイレクトします。標準出力が端末の場合、可能であれば 'Nohup.out'に出力を追加し、それ以外の場合は '$ HOME/Nohup.out'を追加します。標準エラーがターミナルの場合は、標準出力にリダイレクトします。出力をファイルに保存するには、「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
より見やすくするために、ここに回答として Jim コメントを追加します。
出力を
Nohup program > program.out &
ではなくprogram.out
に書き込むには、Nohup.out
を使用します