2014-03-20 6 views
1

В HPUX 11.31 это работает:Как получить название процесса из pid в HPUX 11.11?

#include <sys/pstat.h> 
char* tmp = (char*)malloc(256); 
pstat_getcommandline(tmp, sizeof(char)*256, (size_t)1, (int)pid) 

Но HPUX 11.11 pstat_getcommandline не определен в /usr/include/sys/pstat.h. Я попытался напрямую вызвать pstat() (передавая в PSTAT_GETCOMMANDLINE в качестве первого параметра, который определен в /usr/include/sys/pstat/pstat_ops.h, 11.11), но это не удается. Я заметил, что pst_command_name не определено в объединении pstun в /usr/include/sys/pstat.h 11.11.

Есть ли альтернативный метод получения командной строки на HPUX 11.11?

ответ

1

Это работает на HPUX 11.11:

#include <sys/pstat.h> 
char* tmp = (char*)malloc(64); 
struct pst_status s; 
pstat_getproc(&s,sizeof(s), 0, (int)pid) 
tmp = strdup(s.pst_cmd); 
+0

Хотя это не работает на HPUX 11.31. Я очень хочу, чтобы HP была последовательной в разных версиях. – David

Смежные вопросы