Cpu-Usage über externen Prozess auslesen (Windows)



  • Moin Leute,

    ich bin gerade dabei ein bisschen mit Prozessen und deren Management rumzuspielen. Ich habe einen externen Prozess wie zum Beispiel "notepad" oder selbst erstellte Prozesse in meinem Programm mit creatProcess(...) geöffnet. Jetzt ist meine Frage, wie kann ich denn die Prozesslast auf der Cpu des erstellten Prozesses ermitteln? Ich will sie jedoch nicht aus dem Betriebssystem auslesen. Deshalbt muss ich extern irgendwie die an die Cpulast kommen. Natürlich könnte ich die Last intern abfragen, aber ich will dass es bei jedem Prozess funktioniert, den ich eingebe. Hat irgendwer vielleicht eine Idee? Ich habe jetzt schon stundenlang gesucht aber nichts gefunden.

    Vielen Dank,

    und ein wunderschönes Wochenende.



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • WasMussHierRein schrieb:

    ..will sie jedoch nicht aus dem Betriebssystem auslesen

    😕 Sorry, versteh ich nicht.
    Ansonsten: GetProcessTimes und ein klein wenig Rechnerei um herauszufinden, welche Last der Prozess zwischen zwei Aufrufen verursacht hat (jeweils mit Kerneltime + Usertime rechnen).



  • [quote=\\"Tippgeber\\"][quote=\\"WasMussHierRein\\"]..will sie jedoch nicht aus dem Betriebssystem auslesen[/quote] 😕 Sorry, versteh ich nicht. Ansonsten: GetProcessTimes und ein klein wenig Rechnerei um herauszufinden, welche Last der Prozess zwischen zwei Aufrufen verursacht hat (jeweils mit Kerneltime Usertime rechnen).[/quote] Oke muss ich das also so verstehen? wenn prozess nicht läuft { -erstelle ihn } ansonsten { -auf prozess zeigen und die getprocesstime nehmen -slee



  • Tippgeber schrieb:

    WasMussHierRein schrieb:

    ..will sie jedoch nicht aus dem Betriebssystem auslesen

    😕 Sorry, versteh ich nicht.
    Ansonsten: GetProcessTimes und ein klein wenig Rechnerei um herauszufinden, welche Last der Prozess zwischen zwei Aufrufen verursacht hat (jeweils mit Kerneltime + Usertime rechnen).

    Oke muss ich das also so verstehen?
    wenn prozess nicht läuft
    {
    -erstelle ihn
    }
    ansonsten
    {
    -auf prozess zeigen und die getprocesstime nehmen
    -sleep(5)
    -auf prozess zeigen und die getprocesstime nehmen

    -alles ausrechnenn

    Stimmt das so?

    Vielen Dank


Anmelden zum Antworten