【发布时间】:2010-09-13 00:37:05
【问题描述】:
我正在使用当前创建后台线程 (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 放在衍生线程中(它们目前处于另一种方式)。能解决问题吗?
【问题讨论】:
标签: c linux multithreading pthreads procfs