【发布时间】:2013-04-13 22:08:42
【问题描述】:
这是否可以检索进程控制块的详细信息,例如存储在寄存器中的值和进程的状态、pid 等。 如果是,那么请告诉我该怎么做。 提前致谢。
【问题讨论】:
-
此信息存储在内核中。你可以看看 ptrace 和
gdb.
标签: linux process operating-system
这是否可以检索进程控制块的详细信息,例如存储在寄存器中的值和进程的状态、pid 等。 如果是,那么请告诉我该怎么做。 提前致谢。
【问题讨论】:
gdb.
标签: linux process operating-system
在 Linux 上,您可以使用方便的库函数 getcontext() 获取当前进程上下文(寄存器和所有内容):
http://man7.org/linux/man-pages/man2/getcontext.2.html
还有有趣的部分:您可以使用setcontext() 修改它并改变您的进程行为。
除了诊断之外,它们还可以用来实现各种有趣的东西,比如用户空间线程和协程。
【讨论】: