特定のイベント (DSL 再接続による動的 IP 変更) に対応するために、2 つのクローズド ソース プロセス (ルーター ファームウェア) 間の IPC を監視する必要がある組み込みプラットフォーム (mipsel アーキテクチャ、Linux 2.6 カーネル) を使用しています。straceを介してこれまでにわかったことは、IP が変更されるたびに、DSL デーモンが特定のファイル名にバインドされた UNIX ドメイン ソケットに特別なメッセージを書き込むことです。メッセージは別のデーモンによって消費されます。
ここで私の要件は次のとおりです。特定の UNIX ドメイン ソケットを介したデータ フローを監視し、特定のメッセージが検出された場合にイベントをトリガーする (シェル スクリプトを呼び出す) 必要があります。ファイル名をinotifyで監視しようとしましたが、ソケットファイルでは動作しません。strace を常に実行し、その出力をフィルター処理して、フィルター処理されたログ ファイルの変更に対応できることはわかっていますが、strace はシステムの速度を実際に低下させるため、これは解決策としては重すぎます。また、cron を介して IP アドレスの変更をポーリングすることもできますが、ポーリング ソリューションではなくウォッチドッグが必要です。また、UNIX ドメイン ソケットを具体的に監視し、事前定義された方向に流れる特定のメッセージに反応できるツールがあるかどうかを調べることに興味があります。inotifywait に似たものを想像します。つまり、ツールは特定のイベントを待ってから終了し、
それを実行できる既存の Linux ツールはありますか? または、自分のプラットフォーム (glibc ではなく uClibc) でコンパイルできるスタンドアロン バイナリ用の単純な C コードはありますか? 私は C の専門家ではありませんが、makefile を実行することはできます。シェルからバイナリを使用することは問題ありません。私はシェル プログラミングについて十分に知っています。