Nohup some_command &
を実行すると、出力はNohup.out
になります。 man Nohup
はinfo Nohup
を見るように言っています。
標準出力が端末の場合、コマンドの標準出力はファイル 'Nohup.out'に追加されます。書き込めない場合は、ファイル '$ HOME/Nohup.out'に追加されます。書き込みができない場合、コマンドは実行されません。
しかし、Nohup
を使用して/Nohup.out
へ出力するコマンドをすでに1つ持っていて、別のNohup
コマンドを実行したい場合、出力をNohup2.out
にリダイレクトできますか?
Nohup some_command &> Nohup2.out&
そして出来上がり。
Bashバージョン<4の古い構文
Nohup some_command > Nohup2.out 2>&1&
どういうわけか、上の答えは私にはうまくいきませんでした。末尾に&が付いているので、コマンドを実行した後にコマンドプロンプトに戻ることはしませんでした。代わりに、私は単に試してみました
Nohup some_command > Nohup2.out&
そしてそれは私が望むように機能します。他の誰かが同じ状況にある場合に備えて、これをここに残してください。参考のためにBash 4.3.8を実行してください。
ファイルハンドラがLinux/Unixシステム上のiノード(ファイル名とは独立して格納されている)を指しているのでNohup.out
を起動した後はいつでも、デフォルトのNohup something&
を他のファイル名に変更できます。したがって、次のこともできます。
$ Nohup something&
$ mv Nohup.out Nohup2.out
$ Nohup something2&
something
はNohup2.out
に行を追加し、something2
にNohup.out
を追加します。
上記の方法では、上記のNohupコマンドを実行するたびに、出力ファイルのデータが削除されます。
ユーザー定義ファイルに出力を追加するあなたはNohupコマンドで>>
を使うことができます。
Nohup your_command >> filename.out &
このコマンドは、古いデータを削除せずにファイル内のすべての出力を追加します。