从pid获取应用程序的真实路径? [英] Get real path of application from pid?
本文介绍了从pid获取应用程序的真实路径?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何获取流程详细信息,例如应用程序名称和进程ID的真实应用路径?
How can I get the process details like name of application & real path of application from process id?
我正在使用Mac OS X.
I am using Mac OS X.
推荐答案
如果知道PID,很容易获得进程名称/位置,只需使用proc_name或proc_pidpath.看下面的示例,该示例提供了处理路径:
It's quite easy to get the process name / location if you know the PID, just use proc_name or proc_pidpath. Have a look at the following example, which provides the process path:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <libproc.h>
int main (int argc, char* argv[])
{
pid_t pid; int ret;
char pathbuf[PROC_PIDPATHINFO_MAXSIZE];
if ( argc > 1 ) {
pid = (pid_t) atoi(argv[1]);
ret = proc_pidpath (pid, pathbuf, sizeof(pathbuf));
if ( ret <= 0 ) {
fprintf(stderr, "PID %d: proc_pidpath ();\n", pid);
fprintf(stderr, " %s\n", strerror(errno));
} else {
printf("proc %d: %s\n", pid, pathbuf);
}
}
return 0;
}
这篇关于从pid获取应用程序的真实路径?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文