mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-21 12:44:58 +02:00
parent
e187f405d9
commit
8557293ac4
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
#include "thresholds.h"
|
#include "thresholds.h"
|
||||||
|
|
||||||
#include "boost\program_options.hpp"
|
#include "boost/program_options.hpp"
|
||||||
|
|
||||||
#define VERSION 1.0
|
#define VERSION 1.0
|
||||||
|
|
||||||
@ -70,7 +70,7 @@ int printOutput(const int numProcs, printInfoStruct& printInfo)
|
|||||||
state = CRITICAL;
|
state = CRITICAL;
|
||||||
|
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case OK:
|
case OK:
|
||||||
wcout << L"PROCS OK " << numProcs << L"|procs=" << numProcs << L";"
|
wcout << L"PROCS OK " << numProcs << L"|procs=" << numProcs << L";"
|
||||||
<< printInfo.warn.pString() << L";" << printInfo.crit.pString() << L";0" << endl;
|
<< printInfo.warn.pString() << L";" << printInfo.crit.pString() << L";0" << endl;
|
||||||
break;
|
break;
|
||||||
@ -240,25 +240,21 @@ int countProcs(const wstring user)
|
|||||||
|
|
||||||
pe32.dwSize = sizeof(PROCESSENTRY32);
|
pe32.dwSize = sizeof(PROCESSENTRY32);
|
||||||
|
|
||||||
if (!Process32First(hProcessSnap, &pe32)) {
|
if (!Process32First(hProcessSnap, &pe32))
|
||||||
goto die;
|
goto die;
|
||||||
}
|
|
||||||
|
|
||||||
do {
|
do {
|
||||||
//get ProcessToken
|
//get ProcessToken
|
||||||
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pe32.th32ProcessID);
|
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pe32.th32ProcessID);
|
||||||
if (!OpenProcessToken(hProcess, TOKEN_QUERY, &hToken))
|
if (!OpenProcessToken(hProcess, TOKEN_QUERY, &hToken))
|
||||||
//Won't count pid 0 (system idle) and 4/8 (Sytem)
|
//Won't count pid 0 (system idle) and 4/8 (Sytem)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Get dwReturnLength in first call
|
//Get dwReturnLength in first call
|
||||||
dwReturnLength = 1;
|
dwReturnLength = 1;
|
||||||
if (!GetTokenInformation(hToken, TokenUser, NULL, 0, &dwReturnLength)
|
if (!GetTokenInformation(hToken, TokenUser, NULL, 0, &dwReturnLength)
|
||||||
&& GetLastError() != ERROR_INSUFFICIENT_BUFFER)
|
&& GetLastError() != ERROR_INSUFFICIENT_BUFFER)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
||||||
pSIDTokenUser = (PTOKEN_USER)new BYTE[dwReturnLength];
|
pSIDTokenUser = (PTOKEN_USER)new BYTE[dwReturnLength];
|
||||||
memset(pSIDTokenUser, 0, dwReturnLength);
|
memset(pSIDTokenUser, 0, dwReturnLength);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user