Programm, das eine Anwendung schließt sobald sie im Hintergrund läuft?

Takoru

Lieutenant
Registriert
Mai 2008
Beiträge
868
Guten Morgen,

Ich benutze seit einigen Wochen QTTabBar für Windows 8 x64 und finde die Tabs im Explorer einfach genial.

Nur hat das Programm, auch unter Windows 7 x64, ein Problem:
Es sammelt sich immer mehr RAM an (Memory Leak?), wenn der Windows Explorer desöfteren geöffnet und geschlossen wird. Der RAM wird nicht freigegeben.

Benutzt man den Windows Explorer ohne dieses Tool, besteht der Memory Leak auch. Der signifikante Unterschied ist, dass der RAM nach einiger Zeit der Nichtverwendung freigegeben wird.

Jetzt suche ich ein Tool, bei welchem ich für eine einzelne Anwendung (Die zweite explorer.exe die man problemlos schließen kann, wenn Sie im Hintergrund läuft, bereits mehrfach getestet) eine direkte Beendigung des Programms hervorrufen kann, sobald der Prozess nur noch im Hintergrund läuft (das passiert, sobald ich das Fenster des Windows Explorers schließe).

Gibt es sowas?
 
Zuletzt bearbeitet:
Kennst du dich mit Programmierung aus?
QTTabBar ist doch OpenSource, am besten (für alle) wäre es, wenn du dich dort auf die Suche nach dem Memory Leak machen würdest (nötigen Falls mit Hilfe von Valgrind und CppCheck und anderen Analysetools) und es lösen würdest...

Ansonsten muss ich leider sagen, dass mir nichts einfällt, dass genau so etwas von Hause aus tut, wirst du nicht drum herum kommen dir etwas zu Programmieren (z.B. ein kurzes Tool, dass alle paar Minuten überprüft ob die Anzahl der Laufenden expolorer.exe prozesse <= 1 ist und dann ggf. die QTTabBar schließt - und zwischen den Prüfungen schläft).

Falls jemand anderes eine bessere Idee hat oder vielleicht doch ein Tool kennt, lass ich mich aber gern eines besseren belehren.
 
Leider kann ich nicht Programmieren.

Es wäre natürlich super, wenn sich hier jemand fähiges angesprochen fühlt und das umsetzen könnte. :)
 
Dann solltest du auf der sourceforge Seite http://qttabbar.sourceforge.net/ von QTTabBar einen Bugreport setzen, oder den Fehler im Forum posten.
Allerdings befindet sich der Schöpfer des Projekts anscheinend in seinem PhD, damit ist wohl von ihm nicht schnell mit Hilfe zu rechnen.
Aber vielleicht findet sich im Forum oder nach einem Bugreport ein anderer findiger Programmierer der sich mit dem Quelltext von QTTabBar auseinander setzt und den Fehler findet...

EDIT:
Schlimmstenfalls ist der Fehler gar nicht in QTTabBar sondern im Explorer, dann solltest du dich an Microsoft wenden, da kannste dich aber auch an eine Wand wenden und mit der reden....
 
Zuletzt bearbeitet:
Mit Microsoft reden... Made my day! :p

Also, hier wird QTTabBar noch ziemlich aktiv weiterentwickelt:
http://qttabbar.wikidot.com/

Vom Memory Leak ist allerdings auch die Version von Sourceforge betroffen. Die Version von Quizo hat viel mehr Funktionen und läuft ansonsten sehr stabil.

Gestern hab ich versucht dort einen Bugreport zu eröffnen, leider bekam ich von Wikidot keine Aktivierungsmail...
 
Du hast ein 'Memory Leak' wenn du den Explorer öffnest? Dann stimmt wohl an deinem System was nicht :)

lg
fire
 
Auf der wikidot.com Seite brauchst du doch gar keinen Eigenen Account für den Bugreport:

"Bug tracking system is under operation.
User ID guest guest2 guest3
Password guest guest2 guest3"

Gerade getestet, komme so ins https://qttabbar.backlog.jp/projects/Q.

ERGÄNZUNG:
Ich glaube der Memory Leak besteht darin das Microsoft mit Absicht den Speicher vom Explorer belegt lässt, lässt sich auf jedem Windows unter bestimmten Bedingungen rekonstruieren, der Nutzen ist mir natürlich nicht klar. MS überlässt den Speicher vom Explorer anscheinend dem hauseigenen Garbage Collector. Wenn der Prozess explorer.exe jedoch von einem anderen Programm aus gestartet wird, in diesem Fall QTTabBar, so kann es sein, dass der Garbage Collector das nicht mehr kann, oder er tuts nur dann, wenn der Speicher wirklich benötigt wird.

Hast du mal geprüft ob der Speicher nur zurückgehalten wird und dann Freigegeben wird (auch in QtTabBar) wenn er benötigt wird? (Also etwas sehr speicherintensives gestartet/genutzt)
 
Zuletzt bearbeitet:
@firexs: Der Memory Leak tritt bei einem frisch eingerichteten Windows 7 und Windows 8 x64 auf.

@Blabla Bloblo:
Mit HCI Memtest hab ich den RAM auf 100% Auslastung gebracht um das zu testen. Der Speicher der explorer.exe bleibt hartnäckig belegt. :(
 
Das sagt immernoch nichts aus, ob es ein LEAK ist. Ich hab grad mal meine VM in der Firma aufgerufen. Explorer bei ca 14mb. Dann mehrmals geöffnet und geschlossen etc und es schwankt so zwischen 11-16mb.

Also was ist bei dir ein 'Memory Leak' ?

Da es bei dir unter Win8 und Win7 auftritt: Kann es sein, das da fehlerhafte Software installiert ist? Im Angebot: Virenscanner / DivX Codec / Brennsoftware ... kannst du aber per Google auch Nachlesen. 'explorer.exe speicher voll'.

lg
fire
 
Zuletzt bearbeitet:
Ich hab 2 explorer.exe am laufen, sobald ich den Windows Explorer öffne.

Die eine liegt immer bei 14-16MB.
Die andere wird immer größer, sobald ich den Explorer mehrfach öffne und schließe.

Das sieht dann schnell mal so aus:
explorer-memory.png


Wie gesagt, der Speicher bleibt nur belegt wenn ich QTTabBar benutze.

Der Explorer ohne Erweiterung füllt sich gleichermaßen, wird aber automatisch im Hintergrund nach einigen Minuten geleert.
Dadurch kommt es nicht zu solch einer hohen Auslastung.
 
@firexs:
Er spricht davon, dass der "Leak" auftrifft, wenn explorer.exe von einem Fremdprogramm gestartet wird, nicht direkt von Windows..

Mach dir mal folgenden Spaß:
WINDOWS_TASTE + R: "cmd"
In der Konsole: explorer.exe
Führe das etwa 15 mal aus: plötzlich geht der Speicherbedarf von explorer.exe Prozess bei mir auf 60MB hoch und geht auch nach beenden der Fenster nicht wieder runter.

EDIT:
Bei mir wird er jedoch mit der Zeit zumindest anscheinend wieder Frei gemacht, ab dem Zeitpunkt an dem ich die command shell wieder schließe...
 
Mit Clover, ebenfalls einem Programm das dem Explorer Tabs beschafft, kommt es ebenfalls zu dem Problem.
Das hat gerade ein Kollege von mir getestet.
 
Zurück
Oben