我正在使用当前创建后台线程 (PTHREAD_DETACHED) 然后调用 pthread_exit(0) 的多线程程序(使用 pthreads)。我的问题是该进程随后被列为“已失效”,奇怪的是似乎在 /proc 中并不“真正存在”(这破坏了我的调试策略)
我希望满足以下要求:
- 程序应该循环运行函数 A 和函数 B 一次
- 给定程序 /proc/$pid/exe 的 PID,/proc/$pid/maps 和 /proc/$pid/fd 必须是可访问的(当进程失效时,它们都是空链接或无效链接)
- 必须可以像往常一样使用 CTRL+C 和 CTRL+Z 暂停/中断程序
编辑:我犹豫要更改程序的界面,以使 A 在“主”线程中,而 B 在衍生线程中(它们目前以另一种方式)。它会解决问题吗?