使用readlink("/proc/<pid>/exe", buf, bufsize)来获取路径<pid>的可执行文件.这适用于Linux,提供procfs可用(通常是).
用法示例:
int get_exe_for_pid(pid_t pid, char *buf, size_t bufsize) {
char path[32];
sprintf(path, "/proc/%d/exe", pid);
return readlink(path, buf, bufsize);
}
Run Code Online (Sandbox Code Playgroud)
-1失败时返回并设置errno.