Entwickler-Ecke
Windows API - Deamon-Prozess finden und entfernen
Da_Knuddelbaer - Fr 04.08.06 10:57
Titel: Deamon-Prozess finden und entfernen
Hi zusammen.
Ich kenne mich in diesem Gebiet leider nicht so aus, deswegen hoffe ich auf eure Hilfe:
Bei Titan Quest gibt es eine Speicher-Funktion, die eine Datei "Player.chr" öffnet, editiert und halt wieder schließt. Jetzt wird aber auch immer wieder gespeichert, OHNE dass man auf "Speichern" geklickt hat. Und das geht dann meistens schief.
Denn sobald ich Titan Quest schließe und dann versuche, die Player.chr zu öffnen, kommt da eine Meldung, dass die Datei bereits von einem anderen Prozess verwendet wird. Ich habe die Prozesse vor dem erstmaligem Starten von TQ und NACH Beenden von demselben verglichen, und es sind exakt die gleichen. Lediglich die Speicher-Nutzung ist nicht gleich, was ja aber auch an anderen Programmen noch liegen kann, wie explorer.exe und so.
Da der Prozess nicht angezeigt wird, spricht man (soweit ich weiß) von einem Deamon-Prozess. Und diesen mir unbekannten Prozess würde ich jetzt gerne abschießen. Und zwar einfach ohne Gnade.
Daher, sobald das dann passiert ist, kann ich soviel speichern wie ich will, aber an der "Player.chr" tut sich gar nichts. Und das passiert in unregelmäßigen Abständen. Mal nach 30 Minuten, mal nach 3 Stunden, öfters aber so bei rund einer Stunde.
Ich habe mir schon ein Programm geschrieben, was ich im Hintergrund laufen lasse und einfach die Datei selbst blockiert. Ich muss dann halt nur immer mit Alt+Tab hin und her springen, die Datei freigeben und wieder schließen etc. um effektiv speichern zu können und bisher hat es selbst bei 8 Stunden durchgehende Spielzeit keine Probleme gemacht. Es wurde immer brav gespeichert.
Besser fände ich es, wenn mein Programm einfach im Hintergrund läuft, den Deamon-Prozess alle paar Minuten sucht und diesen dann einfach killt.
Geht das überhaupt, ohne das System instabil zu machen? Weiß jemand da einen Tipp für mich, wie ich das realisieren könnte?
Danke schonmal :-)
Gruß,
Knuddelbaer
BenBE - Fr 04.08.06 14:16
Siehe Process Explorer von SysInternals ... Der kann das. Wie das geht, ist aber etwas aufwändiger und Mit Delphi nur schwer realisierbar (sofern man die Mittel nicht hat).
BTW: Normalerweise sollte man zwischen Dämonen und Zombies sehr gut unterscheiden ;-) Daemons = Prozesse die im Hintergrund (nützliche) Aufgaben erfüllen, Zombies = Prozesse ohne Eigentümer.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!