ファイル名を手動で指定せずにエラーが発生した場合にのみnohup.outを生成することはできますか?

ファイル名を手動で指定せずにエラーが発生した場合にのみnohup.outを生成することはできますか?

nohup ./file $1 $2 &バックグラウンドで実行してstdout以外のエラーのみを生成させることはできますか?./filenohup.out

ただし、手動で指定しないでくださいnohup.out

nohup ./file $1 $2 >/dev/null 2>nohup.out &

また、次の状態nohup: redirecting stderr to stdoutとリダイレクトはエラーを出力もリダイレクトもしません。エラーを出力にリダイレクトするように指示しますが、出力が/ dev / nullにリダイレクトされるためです。

nohup ./file $1 $2 >/dev/null &

ベストアンサー1

記載されているようにman nohup:

標準入力が端末の場合は、読み取れないファイルにリダイレクトします。標準出力が端末の場合は、可能であればnohup.out出力を端末に追加し、$HOME/nohup.outそれ以外の場合は出力を追加します。標準エラーが端末の場合は標準出力にリダイレクトします。出力をファイルに保存するには、次のようにします。nohup COMMAND > FILE

このコマンドは端末で実行されているため、標準エラーは標準出力にリダイレクトされ、OPに提案されたファイル名を指定しない限りこれを行うことはできません。

おすすめ記事