3
我有一個在C開發的程序。這個程序包含2個子線程。有時候,當我嘗試用kill -15 <pid of main thread>
停止我的應用程序時,應用程序不會退出。而且我只能看到ps aux
輸出中的主線程的pid(子線程的pid不顯示在ps aux
的輸出中)。並保持與kill -15 <pid>
殺死剩餘的PID不會導致此過程的終止。只有kill -9 <pid>
會導致進程終止。爲什麼「殺-15」有時會失敗?
此行爲在1000次嘗試中發生3次。
- 操作系統是Linux的的OpenWRT
- 內核版本2.6.30是
- 利布斯:
libuClibc-0.9.30.1.so
和libpthread-0.9.30.1.so
請不要考慮這個話題this one重複的,因爲我的程序不包含sigaction處理程序。
- 操作系統是Linux的的OpenWRT - 內核版本2.6.30是 - 利布斯:'libuClibc-0.9.30.1.so'和'的libpthread-0.9.30.1.so' – MOHAMED
哦。 uClibc是否配置爲LinuxThreads而不是NPTL?如果是這樣,它會處理各種破碎的信號,你真的沒有希望它能正常工作。 –
非常感謝您的回答。所以我必須找到其他解決方案。你能否提供一些討論這個問題的主題鏈接 – MOHAMED