いくつかのさまざまな UNIX プラットフォーム (この問題は SunOS 5.10 で発生しています) 用に C で書かれた小さなデーモン アプリケーションがあります。これは基本的に、シリアル ポートを開き、そのポートを介して入ってくる情報をリッスンするだけです。
この特定の例では、デーモンは、シリアル ポート経由で送信された単一の送信 (ファイルの価値のあるデータなど) を読み取ったように見え、SIGINT を受信します。これは毎回起こります。他の顧客は、SIGINT を受信せずにこのセットアップを非常によく似た方法で使用します。明らかに、ユーザーは Ctrl-C を押していません。比較的単純なシグナル ハンドラーが用意されているので、それが起こっていることは確実にわかります。
他に何がこれを引き起こしている可能性がありますか? ここの質問をグーグルで調べてみると、SIGINTを引き起こす可能性のある他のことについての説明があまり見つかりませんでした。また、コードを調べたところ、raise() への呼び出しはなく、とにかく SIGINT を送信しない kill(pid, 0) への単一の呼び出ししか見つかりませんでした。
どんな考えや洞察も間違いなく高く評価されます。