バックグラウンドで監視スクリプトを実行しています。年中無休の24時間利用可能です。
スクリプトには、モニター出力に基づいて開始されたプロセスを使用してnohup
出力をログファイルにリダイレクトする機能がありますhome/nohub_logs/logfile.txt
。
スクリプトは数時間は正常に動作しますが、その時間が経過してもログファイルの長さはまだゼロです。場合によっては、監視スクリプトを終了してスクリプトを再起動すると、いくつかの出力が表示されます。
nohup startprocessscript.sh >> /home/nohuplog &
しばらくするとログが生成されます。たとえば、スクリプトが最初の24時間以内に実行されると、24時間後にログは生成されません。スクリプトを再起動すると、ログが生成されます。
nohup
時々、ログファイルが生成されたデータを取得できない理由がわからない。誰でも助けてください。
答え1
この問題の一般的な原因は出力バッファリングです。
十分なデータが書き込まれた後にのみ、スクリプト出力をログファイルにフラッシュできます。
考えられる解決策は次stdbuf
のunbuffer
とおりです。パイプラインでバッファリングをオフにする