如何从用户 space 访问 thread_info
How to access thread_info from user space
我知道 Linux 维护 task_struct
(包括 thread_info
)以访问不同的线程。我想知道一个线程本身是否可以访问它自己的 thread_info
(类似于 current_thread_info()
)。
我想做的是当我 运行 一个线程时。我想知道 thread_info
中关于当前线程的一些标志的状态。我检查了 pthread 中的 API,但找不到任何 API。所以我的问题是
- 我可以从当前线程(用户空间)访问
thread_info
吗?
- 如果我们不能,为什么 Linux 没有为它提供 API?
不,您不能从用户空间访问 thread_info
(好吧,除了使用特权内核 tracing/debugging 接口)。
没有API因为是architecture-specific;大多数标志仅在任务在内核中执行时才相关;最重要的是,它是一个内部实现细节,随时可能更改。
如果您针对感兴趣的特定标志提出另一个问题,可能还有另一种方法可以访问该信息。
我知道 Linux 维护 task_struct
(包括 thread_info
)以访问不同的线程。我想知道一个线程本身是否可以访问它自己的 thread_info
(类似于 current_thread_info()
)。
我想做的是当我 运行 一个线程时。我想知道 thread_info
中关于当前线程的一些标志的状态。我检查了 pthread 中的 API,但找不到任何 API。所以我的问题是
- 我可以从当前线程(用户空间)访问
thread_info
吗? - 如果我们不能,为什么 Linux 没有为它提供 API?
不,您不能从用户空间访问 thread_info
(好吧,除了使用特权内核 tracing/debugging 接口)。
没有API因为是architecture-specific;大多数标志仅在任务在内核中执行时才相关;最重要的是,它是一个内部实现细节,随时可能更改。
如果您针对感兴趣的特定标志提出另一个问题,可能还有另一种方法可以访问该信息。