異なるサーバーで実行されている複数のプログラムに対して1つのシグナル処理関数を書いて、障害が発生したときなどに、セグメンテーションエラーSIGSEGVまたはSIGTERMなど、シグナル処理関数はログを生成し、内容を中央のMYSQLサーバにアップロードすることができます。これは、管理者に個々のサーバーを特定し、問題を修正するよう通知するためのものです。私の研究から、私はsigactionまたは例外処理を使用する必要があります。プログラムがフォールトに陥ったとき、シグナル処理関数でログを書き、ログをMYSQLにアップロードする方法は?
Q1:私の目的のために、(信号処理または例外処理)を使用する必要がありますか?
Q2:シグナルハンドラ関数でリエントラントでない関数を呼び出すことはお勧めできません。 printf()。この場合、どのようにログファイルを生成できますか?シグナル処理関数のログをアップロードするためにMYSQLに接続することもできますか?
私はC++とLinuxで作業しています。読んでいただきありがとうございます。
'syslogd'の使用/実装をご覧ください –