VixHandle
VixVM_ListProcessesInGuest(VixHandle vmHandle,
int options,
VixEventProc *callbackProc,
void *clientData);
This function lists the running processes in the guest operating system.
job = VixVM_ListProcessesInGuest(vm, 0, NULL, NULL);
err = VixJob_Wait(job, VIX_PROPERTY_NONE);
if (VIX_OK != err) {
fprintf(stderr, "failed to list processes in vm '%s'(%"FMT64"d %s)\n",
vmpath, err, Vix_GetErrorText(err, NULL));
goto abort;
}
num = VixJob_GetNumProperties(job, VIX_PROPERTY_JOB_RESULT_ITEM_NAME);
for (i = 0; i < num; i++) {
char *processName;
uint64 pid;
char *owner;
char *cmdline;
err = VixJob_GetNthProperties(job, i,
VIX_PROPERTY_JOB_RESULT_ITEM_NAME, &processName,
VIX_PROPERTY_JOB_RESULT_PROCESS_ID, &pid,
VIX_PROPERTY_JOB_RESULT_PROCESS_OWNER, &owner,
VIX_PROPERTY_JOB_RESULT_PROCESS_COMMAND, &cmdline,
VIX_PROPERTY_NONE);
printf("process #%d '%s' %"FMT64"d %s %s\n",
i, processName, pid, owner, cmdline);
Vix_FreeBuffer(processName);
Vix_FreeBuffer(owner);
Vix_FreeBuffer(cmdline);
}
Vix_ReleaseHandle(job);