`nohup.out`の名前を変更できますか?


254

実行するnohup some_command &と、出力はに移動しnohup.outます。それman nohupを見て言うようinfo nohupに順番に言う:

標準出力が端末の場合、コマンドの標準出力はファイル「nohup.out」に追加されます。書き込めない場合は、ファイル「$ HOME / nohup.out」に追加されます。書き込みができない場合、コマンドは実行されません。

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

回答:


416
nohup some_command &> nohup2.out &

そして出来上がり。


Bashバージョン<4の古い構文:

nohup some_command > nohup2.out 2>&1 &

4
@ismail、私が理解している場合、これは出力をstdoutおよびnohup.outからnohup2.outに向けます。次に、何をし2>&1&ますか?
David LeBauer、2010

12
2>&1この場合stderrと同じ出力ファイルにリダイレクトしますstdoutnohup2.out
ismail

17
Bash 4では、2つのリダイレクトを1つに短縮できます&> nohup2.out
ephemient

1
&> nohup2.outを試してみましたが、動作しますが、bashのバージョンを確認するにはどうすればよいですか?
monkut 2012

9
@monkut bash --version
ismail

58

何らかの理由で、上記の答えは私にはうまくいきませんでした。末尾の&で期待どおりに実行した後、コマンドプロンプトに戻りませんでした。代わりに、私は単に試してみました

nohup some_command > nohup2.out&

そしてそれは私が望んでいるとおりに機能します。他の誰かが同じ状況にある場合に備えて、ここを離れます。参照用にBash 4.3.8を実行します。


12

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

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

今すぐsomethingにラインを追加nohup2.outしてsomething2しますnohup.out


10

上記のメソッドは、上記のnohupコマンドを実行するたびに出力ファイルデータを削除します。

ユーザ定義ファイルに追加出力を使用でき>>nohupコマンドで。

nohup your_command >> filename.out &

このコマンドは、古いデータを削除せずに、ファイル内のすべての出力を追加します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.