Prozess.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #ifndef Prozess_H
  2. #define Prozess_H
  3. #include "Betriebssystem.h"
  4. #include "ReferenceCounter.h"
  5. #ifdef WIN32
  6. # pragma comment(lib, "Psapi.lib")
  7. #endif
  8. namespace Framework
  9. {
  10. #ifdef WIN32
  11. struct MemoryInfo; //! aus dieser Datei
  12. #endif
  13. class Prozess; //! aus dieser Datei
  14. #ifdef WIN32
  15. struct MemoryInfo
  16. {
  17. unsigned long ausgelagerteFehler;
  18. __int64 höchsteAusgelagerterSpeicher;
  19. __int64 ausgelagerterSpeicher;
  20. __int64 höchsterAusgelagerterPool;
  21. __int64 ausgelagerterPool;
  22. __int64 höchsterNichtAusgelagerterPool;
  23. __int64 nichtAusgelagerterPool;
  24. __int64 vorreservierterSpeicher;
  25. __int64 höchsterVorreservierterSpeicher;
  26. };
  27. #endif
  28. //! Diese Klasse findet informationen über einen laufenden Prozess heraus
  29. //! (CPU, MEM) Bei Ubuntu immer der eigene Prozess
  30. class Prozess : public virtual ReferenceCounter
  31. {
  32. private:
  33. #ifdef WIN32
  34. int numProcessors;
  35. ULARGE_INTEGER lastCPU, lastSysCPU, lastUserCPU;
  36. void* pHandle;
  37. #endif
  38. public:
  39. //! Konstruktor
  40. DLLEXPORT Prozess();
  41. //! nicht constant
  42. #ifdef WIN32
  43. //! Setzt den Prozess, der überwacht werden soll (Nur für Windows)
  44. DLLEXPORT void setProcess(void* pHandle);
  45. #endif
  46. //! Gibt den CPU verbrauch des Prozesses zurück
  47. DLLEXPORT double getCPU() const;
  48. //! Gibt den Speicherverbrauch des Prozesses zurück
  49. DLLEXPORT __int64 getMem() const;
  50. #ifdef WIN32
  51. //! Gibt detailierte Informationen über den Speicherverbrauch des
  52. //! Prozesses zurück (Nur für Windows)
  53. DLLEXPORT MemoryInfo getMemInfo() const;
  54. //! Gibt die Anzahl der Threads zurück (Nur für Windows)
  55. DLLEXPORT int getThreadAnzahl() const;
  56. #endif
  57. };
  58. } // namespace Framework
  59. #endif