可以检查应用程序包的二进制进程是在 32 位还是 64 位模式下运行,正如这个问题中所回答的那样,但我可以验证它是否仅适用于 GUI 进程。
但是,我还需要检查没有 GUI 且不属于捆绑包的进程。
因此,以编程方式,在不调用系统函数或其他可执行文件的情况下,如果给定进程 pid,我如何测试任何进程是否以 32 位或 64 位模式运行?
可以检查应用程序包的二进制进程是在 32 位还是 64 位模式下运行,正如这个问题中所回答的那样,但我可以验证它是否仅适用于 GUI 进程。
但是,我还需要检查没有 GUI 且不属于捆绑包的进程。
因此,以编程方式,在不调用系统函数或其他可执行文件的情况下,如果给定进程 pid,我如何测试任何进程是否以 32 位或 64 位模式运行?
好的,所以我终于发现答案已经在 SO here上,对于 Carbon。为了现在使用该代码,需要包含以下内容:
#include <sys/sysctl.h>
此外,似乎流程结构的成员已从
proc->kp_proc.p_flags
对此:
proc->kp_proc.p_flag