我想在没有使用 C++ 代码的 root 权限的情况下获取正在运行的进程(可执行文件)的完整路径。有人可以建议一种方法来实现这一点。
在 Linux 平台上,我可以使用以下方式来做到这一点。
char exepath[1024] = {0};
char procid[1024] = {0};
char exelink[1024] = {0};
sprintf(procid, "%u", getpid());
strcpy(exelink, "/proc/");
strcat(exelink, procid);
strcat(exelink, "/exe");
readlink(exelink, exepath, sizeof(exepath));
这里 exepath 为我们提供了可执行文件的完整路径。
同样,对于 Windows,我们使用
GetModuleFileName(NULL, exepath, sizeof(exepath)); /* get fullpath of the service */
请帮助我如何在 HP-UX 上执行此操作,因为 HP-UX 中没有 /proc 目录。