日報 2025-03-06

diarylumecms

bashのリダイレクト関連の話

tl;dr

nohupとリダイレクトでログを別ファイルに流すときは、>でなく&>を使わないと標準エラー出力も記録されない

原因

LumeCMS使うときは以下のコマンドを実行してた。

$ nohup deno run cms > /tmp/cms.out
$ sudo tailscale serve --bg localhost:3000

時間をおいた後、いつのまにかLumeCMSにアクセスできなくなっていたのでログを見ようとしても問題なさそうだったけど、nohupを実行した際にこのよう警告が出ていた事に気づいた。

$ nohup deno run cms > /tmp/cms.out &
[1] 10976
nohup: ignoring input and redirecting stderr to stdout

どうやら標準入力と標準エラー出力のリダイレクトを無視していたらしい。いろいろ調べて、

$ nohup deno run cms &> /tmp/cms.out

を実行するとnobup側から警告が出なくなった