Node.jsで書かれたプログラムを実行し、実行パイプラインを使用してログファイルとして実行し、バックグラウンドで送信します。
プログラムが途中で終了し、コンソールまたはログにエラーがありません。 /var/log/messageも確認しましたが、プログラムに問題があるかどうかはわかりません。
シャットダウンを引き起こすエラー/メッセージをキャプチャするより良い方法はありますか?
現在実行されているbashスクリプトは次のとおりです。
./run_all_with_logs >> logs/my.log &
答え1
終了コードは、プロセスが外部信号によって終了されたのか、それとも(有用であると予想される)内部終了コードで自ら終了したのかを示します。
終了コードを含めるようにコマンドラインを少し拡張できます(この終了コードをデコードするには、他の質問を参照)。
(./run_all_with_logs ; echo "Final Exit Code: $?" ) >> logs/my.log &
もう少しクールにすることができます(終了ステータスのデコードなど)。
答え2
PT:の答えをもう少し向上させましょう。
デフォルトのフォームは、すべての一般出力をログファイルに送信します。
./run_all_with_logs >> logs/my.log &
エラーをリダイレクトすると、エラーを記録して通常の出力を印刷できます。
./run_all_with_logs 2>&1 >> logs/my.log &
その後、サブシェルでコマンドを実行すると、終了コードも印刷できます。
(./run_all_with_logs ; echo "Final Exit Code: $?" ) 2>&1 >> logs/my.log &