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 ハンドラが含まれていないため、このトピックをこれと重複させないでください。