nohup.out "の名前を変更することはできますか?

nohup some_command &を実行すると、nohup.outに出力されます。man nohupでは、info nohup`を見てくださいと言われ、それによると。

標準出力がターミナルの場合は 標準出力がターミナルの場合、コマンド'の標準出力はファイル'に追加されます。 ファイル 'nohup.out'に付加されます。 書き込めない場合は、ファイル 'nohup.out に追加されます。 ファイル '$HOME/nohup.out'に追加されます。 そのファイルが書き込めない場合は、コマンド は実行されません。

しかし、すでにnohupを使ったコマンドがあり、出力が/nohup.outになっていて、別のnohupコマンドを実行したい場合、出力をnohup2.outにリダイレクトすることはできますか?

ソリューション
nohup some_command &> nohup2.out&

と表示されます。


Bashのバージョン< 4の古い構文です。

nohup some_command > nohup2.out 2>&1&
解説 (16)

何らかの理由で、上記の回答が私にはうまくいきませんでした。実行後にコマンドプロンプトに戻らず、末尾の&で期待通りの結果が得られませんでした。代わりに、私は単に

nohup some_command > nohup2.out&

で試したところ、思い通りに動作しました。同じ状況の人がいるかもしれないので、ここに書いておきます。参考までにBash 4.3.8を実行しています。

解説 (0)

Linux/Unixシステムでは、ファイルハンドラがi-node(ファイル名とは独立して保存されている)を指しているので、デフォルトのnohup.outは、nohup something&を起動した後、いつでも他のファイル名に変更することができます。つまり、次のようにもできます。

$ nohup something&
$ mv nohup.out nohup2.out
$ nohup something2&

これで somethingnohup2.out に、something2nohup.out に行を追加しました。

解説 (0)