[ZBX-5849] proc.num is not calculating the 32bit processes on a 64bit Windows machine Created: 2012 Nov 13 Updated: 2017 May 30 Resolved: 2015 Mar 10 |
|
Status: | Closed |
Project: | ZABBIX BUGS AND ISSUES |
Component/s: | Agent (G) |
Affects Version/s: | 2.0.2, 2.0.3 |
Fix Version/s: | None |
Type: | Incident report | Priority: | Minor |
Reporter: | Gerald Rohrbach | Assignee: | Unassigned |
Resolution: | Duplicate | Votes: | 0 |
Labels: | patch, proc.num, windows | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original Estimate: | Not Specified | ||
Environment: |
Windows 2008 64bit |
Issue Links: |
|
Description |
proc.num is not calculating the 32bit processes on a 64bit machine. Probably reason might be that EnumProcessModules is used instead of EnumProcessModulesEx http://msdn.microsoft.com/en-us/library/windows/desktop/ms682631(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/desktop/ms682633(v=vs.85).aspx int PROC_NUM(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) { HANDLE hProcess; DWORD procList[MAX_PROCESSES], dwSize; int i, proccount, max_proc_cnt, proc_ok = 0, user_ok = 0; char procName[MAX_PATH], userName[MAX_PATH], baseName[MAX_PATH], uname[MAX_NAME]; if (num_param(param) > 2) return SYSINFO_RET_FAIL; if (0 != get_param(param, 1, procName, sizeof(procName))) return SYSINFO_RET_FAIL; if (0 != get_param(param, 2, userName, sizeof(userName))) *userName = '\0'; if (0 == EnumProcesses(procList, sizeof(DWORD) * MAX_PROCESSES, &dwSize)) return SYSINFO_RET_FAIL; |
Comments |
Comment by Oleksii Zagorskyi [ 2012 Nov 14 ] |
Updated summary |
Comment by Oleksii Zagorskyi [ 2013 Jul 19 ] |
|
Comment by Alexander Vladishev [ 2015 Mar 09 ] |
Possible it can be fixed in |
Comment by dimir [ 2015 Mar 10 ] |
This was fixed in |
Comment by dimir [ 2015 Mar 10 ] |
Thanks for reporting that, it appeared this is already fixed. I'm closing this now, feel free to re-open if issue still exists. |