宏PVPROCPTR(pid)可以将PID转换为过程指针。
所以我用但是当我做错了。
1>ld : 0711-317 error : Undefined symbol: pvproc
1> ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
并且该宏在AIX头文件中的定义如下:
extern struct pvproc pvproc[NPROC]; /* the process table, itself */
/* convert pid to proc pointer */
#define PVPROCPTR(pid) (&pvproc[PROCMASK(pid)])
所以我想知道为什么不能使用它?
最佳答案
问题是“为什么”。所以:
pvproc是内部内核结构。如果您要进行内核扩展,那么您所拥有的可能会起作用。我看不到它是从/ usr / lib中的任何* exp文件导出的,因此看来它并不是要在任何地方都可以工作,而是可以在内核内部工作。
我希望AIX将提供内核服务来执行您想要的操作,而不是宏。内核服务在不同版本的AIX上具有更高的稳定性(但是它仍然可以更改-只是不那么频繁)。
让我们退一步,然后问一个更大的问题:为什么要使用pvproc结构? (嗯...首先,答案:这是内核扩展吗?)