(SIGAR-187) implement proc_exe on AIX
This commit is contained in:
parent
a4915e8ed6
commit
ce7be03af5
|
@ -949,7 +949,33 @@ int sigar_proc_fd_get(sigar_t *sigar, sigar_pid_t pid,
|
|||
int sigar_proc_exe_get(sigar_t *sigar, sigar_pid_t pid,
|
||||
sigar_proc_exe_t *procexe)
|
||||
{
|
||||
return SIGAR_ENOTIMPL;
|
||||
int len;
|
||||
char buffer[8192];
|
||||
struct procsinfo pinfo;
|
||||
|
||||
pinfo.pi_pid = pid;
|
||||
|
||||
if (getargs(&pinfo, sizeof(pinfo),
|
||||
buffer, sizeof(buffer)) != 0)
|
||||
{
|
||||
return errno;
|
||||
}
|
||||
/* XXX argv[0] might be relative */
|
||||
len = strlen(buffer);
|
||||
SIGAR_SSTRCPY(procexe->name, buffer);
|
||||
|
||||
(void)SIGAR_PROC_FILENAME(buffer, pid, "/cwd");
|
||||
|
||||
if ((len = readlink(buffer, procexe->cwd,
|
||||
sizeof(procexe->cwd)-1)) < 0)
|
||||
{
|
||||
return errno;
|
||||
}
|
||||
procexe->cwd[len] = '\0';
|
||||
|
||||
procexe->root[0] = '\0';
|
||||
|
||||
return SIGAR_OK;
|
||||
}
|
||||
|
||||
static int sigar_proc_modules_local_get(sigar_t *sigar,
|
||||
|
|
Loading…
Reference in New Issue