0

私が書いているプログラムには、次のような 3 つの主要部分があります。 startwrapper.cpp deviceAcomms.cpp deviceBcomms.cpp

アプリケーションは、ある種類のデバイスからデータを読み取り、別のプロトコルを使用して別のデバイス (管理クライアント) にデータを提供します。

startwrapper は基本的に、アプリケーションをデーモンとして起動すること、I/O を syslog にリダイレクトすること、シグナルをキャッチすることなどを制御します。デーモン環境をセットアップした後、deviceAcomms の StartServer メソッドを呼び出し、argv/argc に渡します。

私の問題は、Boost プログラム オプション ライブラリによってコマンド ライン オプションがどのように保存および処理されているかを確認しようとしているのですが、syslog をさらに呼び出しても、/var/log/messages に新しい情報が何も表示されないことです。

では、2 番目のスレッドは syslog 呼び出しにアクセスできますか、それとも次のメソッドにも渡す必要があるものですか?

4

1 に答える 1

1

はい、2 番目のスレッドは を使用できるはずsyslogです。POSIX 仕様syslogでは、スレッドセーフである必要があるため、問題は別の場所にある可能性があります。

于 2013-03-17T23:01:35.377 に答える