| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #ifndef Prozess_H
- #define Prozess_H
- #include "OperatingSystem.h"
- #include "ReferenceCounter.h"
- #ifdef WIN32
- # pragma comment(lib, "Psapi.lib")
- #endif
- namespace Framework
- {
- #ifdef WIN32
- struct MemoryInfo; //! from this file
- #endif
- class Process; //! from this file
- #ifdef WIN32
- struct MemoryInfo
- {
- unsigned long ausgelagerteFehler;
- __int64 hoechsteAusgelagerterSpeicher;
- __int64 ausgelagerterSpeicher;
- __int64 hoechsterAusgelagerterPool;
- __int64 ausgelagerterPool;
- __int64 hoechsterNichtAusgelagerterPool;
- __int64 nichtAusgelagerterPool;
- __int64 vorreservierterSpeicher;
- __int64 hoechsterVorreservierterSpeicher;
- };
- #endif
- //! This class retrieves information about a running process
- //! (CPU, MEM). On Ubuntu always the own process
- class Process : public virtual ReferenceCounter
- {
- private:
- #ifdef WIN32
- int numProcessors;
- ULARGE_INTEGER lastCPU, lastSysCPU, lastUserCPU;
- void* pHandle;
- #endif
- public:
- //! Constructor
- DLLEXPORT Process();
- //! non-constant
- #ifdef WIN32
- //! Sets the process to monitor (Windows only)
- DLLEXPORT void setProcess(void* pHandle);
- #endif
- //! Returns the CPU usage of the process
- DLLEXPORT double getCPU() const;
- //! Returns the memory usage of the process
- DLLEXPORT __int64 getMem() const;
- #ifdef WIN32
- //! Returns detailed information about the memory usage of the
- //! process (Windows only)
- DLLEXPORT MemoryInfo getMemInfo() const;
- //! Returns the number of threads (Windows only)
- DLLEXPORT int getThreadAnzahl() const;
- #endif
- };
- } // namespace Framework
- #endif
|