C で開発されたプログラムがあります。このプログラムには 2 つのサブスレッドが含まれています。場合によっては、アプリケーションを停止しようとするとkill -15 <pid of main thread>
、アプリケーションが終了しません。ps aux
また、出力にはメイン スレッドの pid しか表示されません (サブスレッドの pid は の出力には表示されませんps aux
)。残りの pid を kill し続けてもkill -15 <pid>
、このプロセスは終了しません。プロセスの終了のみkill -9 <pid>
を引き起こします。
この動作は、1000 回の試行で 3 回発生します。
- OSはOpenWRT Linux
- カーネルのバージョンは 2.6.30 です
- ライブラリ:
libuClibc-0.9.30.1.so
およびlibpthread-0.9.30.1.so
私のプログラムには sigaction ハンドラが含まれていないため、このトピックをこれと重複させないでください。