我有一个用 C 开发的程序。这个程序包含 2 个子线程。有时,当我尝试停止我的应用程序时kill -15 <pid of main thread>
,应用程序不会退出。而且我只能在ps aux
输出中看到主线程的pid(子线程的pid没有显示在输出中ps aux
)。并继续杀死剩余的 pidkill -15 <pid>
不会导致该进程终止。只会kill -9 <pid>
导致进程终止。
此行为在 1000 次尝试中发生 3 次。
- 操作系统是 OpenWRT Linux
- 内核版本为 2.6.30
- 库:
libuClibc-0.9.30.1.so
和libpthread-0.9.30.1.so
请不要认为本主题与本主题重复,因为我的程序不包含 sigaction 处理程序。