我想从
/proc
文件系统读取正在运行的进程的环境变量值。
我在 QNX 上找不到 /proc/<pid>/environ
文件。
我知道如何从 getenv API 读取它,但我想从 /proc/<pid>
读取它。
据我所知,QNX 上没有易于使用的 API 可以通过编程方式访问另一个程序的环境。
pidin
——运行 pidin -p <pid> environment
将环境转储到标准输出。
如果您无法生成额外的进程,我相信
pidin
在内部所做的事情类似于:
DCMD_PROC_INFO
获取目标进程初始堆栈的虚拟地址;/proc/<pid>/as
打开目标进程的地址空间,查找初始堆栈地址,并解析它:
argc
argv
,所以跳过那么多字符*,再加上一个