Windows gibt Programme nicht sofort frei [erledigt]

Fragen rund um diverse Windows-Versionen, ihr Verhalten unter Xbase++ und den Umgang mit der API

Moderator: Moderatoren

Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 475
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

Windows gibt Programme nicht sofort frei [erledigt]

Beitrag von Ewald »

Ich habe seit ein paar Tagen dieses Problem an meinem WIN 7 32bit PC:
Wenn ich an einem Programm schnitze kommt es ja vor, das ich es alle paar Minuten neu kompilieren muss. Jetzt passiert es mir immer wieder, dass ich ein Programm nicht linken kann, weil ich die EXE nicht überschreiben kann – obwohl das Programm nicht mehr läuft und auch im Taskmanager nicht auftaucht. Nach ein paar Minuten geht’s dann plötzlich. Windows hat es freigegeben oder was auch immer.

Der Linker meldet; ALINK: fatal error ALK4001: cannot open file “BLAH.EXE”

Da dieser Mist plötzlich auftritt vermute ich einen Zusammenhang mit einem Win-Update.
Kennt jemand das Problem und evtl. den richtigen Schalter aus den Untiefen des Systems ?
Danke
Ewald
Zuletzt geändert von Ewald am Di, 29. Apr 2014 11:56, insgesamt 1-mal geändert.
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: Windows gibt Programme nicht sofort frei

Beitrag von Wolfgang Ciriack »

Virenscanner ?
Viele Grüße
Wolfgang
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 475
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Windows gibt Programme nicht sofort frei

Beitrag von Ewald »

Hi Wolfgang,
habe ich soeben deaktiviert. Ist auch ein Teil was ich seit Jahren benutzt. Hat leider nicht geholfen.
Es dauert einen Tacken weniger als eine Minute, bevor ich das Programm nach dem Schließen erneut linken kann.
60 Sekunden in denen ich meine PIIIIEPS in den Pool hängen kann, um es mit den Worten eines bekannten Rennfahrers auszudrücken.
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Windows gibt Programme nicht sofort frei

Beitrag von Herbert »

Igendwelche Ressourcen geladen, welche du nicht freigibst?
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Windows gibt Programme nicht sofort frei

Beitrag von Rudolf »

Hallo, habe das gleiche Problem, kommt relativ oft bei mir vor. Aber bei mir ist es als Prozess im Taskmanager sichtbar, jedoch nicht als Applikation. Hier lässt es sich dann beenden. Ist also relativ normales Verhalten denke ich.
Grüße
Rudolf
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 475
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Windows gibt Programme nicht sofort frei

Beitrag von Ewald »

So, genug geärgert. Ich habe mich eines der besten Programme überhaupt (nach meinen ;-)) bedient und meine C Partition vom 12.4. wieder zurückgeholt. Und mein Gefühl täuscht mich nicht. Da war das Problem noch nicht da. Sobald ich ein Programm beendet habe kann ich sofort wieder linken, löschen, überschreiben. Mal sehen, ob sich das durch die jetzt fälligen Updates wieder verschlechtert. Ich werde berichten. Danke
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Windows gibt Programme nicht sofort frei

Beitrag von georg »

Hallo, Ewald -


das Problem kenne ich auch. Windows 7, 32bit, McAfee. Das eben gestartete (und meist abgestürzte) Programm lässt sich auch mittels "del" oder Explorer nicht löschen. Das einzige, was geht: umbennen von test.exe nach test1.exe etc. Nach einer Weile (ca. 15 Minuten oder so) lassen sich die Kopien dann löschen.

Da ich viel auf APIs zugreife, vermute ich das Problem dort.

Allerdings ist es bei mir in den letzten vier Wochen nicht mehr aufgetreten, zumindest erinnere ich mich an keinen Fall.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Windows gibt Programme nicht sofort frei

Beitrag von Herbert »

Glaube nicht, dass ein Umbenennen einer durch ds Betriebssystem benutzten Anwendung möglich ist. In diesem Fall ist die Anwendung bereits geschlossen.
Da ihr in Xbase gerne mit (viel zu vielen) Threads arbeitet: werden diese alle vor dem Quit richtig abgeschlossen?
Grüsse Herbert
Immer in Bewegung...
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Windows gibt Programme nicht sofort frei

Beitrag von georg »

Hallo, Herbert -


ganz dezent formuliert: was Du glaubst oder nicht, ist bei der Programmierung nicht unbedingt relevant.

Tatsache ist, dass in solchen Fällen ein delete nicht möglich ist, ein rename jedoch schon. Nachdem das Programm renamet wurde, kann es immer noch nicht gelöscht werden.

Weshalb die Umbenennung einer benutzten Datei nicht möglich sein soll, entzieht sich meiner Kenntnis. Der Name ist lediglich ein Label - während das Öffnen der Datei auf ihren Inhalt zugreift.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Windows gibt Programme nicht sofort frei

Beitrag von brandelh »

Ich kann Uli nur zustimmen, der NAME der EXE (wie auch einer DLL) spielt nur beim Starten eine Rolle, danach wird intern ein DWORD als Kennung verwendet.
Für automatische Updates habe ich schon DLLs umbenannt, andere haben dann die Umbenennung der EXE erwähnt und ich habe es probiert. Es geht.
Gruß
Hubert
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 475
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Windows gibt Programme nicht sofort frei

Beitrag von Ewald »

Ich habe ja wie geschrieben eine 14 Tage alte Datensicherung der kpl. Systempartition c: zurückgeschrieben. Virenschutz und dergl. alles wie gestern, nur eben 14 Tage alt. Da war das Problem nicht vorhanden. Die EXE ist sofort nach dem Schließen frei und kann gelöscht bzw. überschrieben werden. Meine Befürchtung, das sich das durch die Updates von WIN 7 und dem Virenscanner wieder in Negative wendet hat, ist NICHT eingetreten. Auch heute, nachdem ich die 3 Millionen Updates der letzten 14 Tage eingespielt habe läuft alles noch wie gewünscht. Ich reihe das mal in die unendliche Serie der unklärbaren Vorfälle ein.

Kleine Anmerkung zum Umbenennen. EXE-Files die sich auf dem Server befinden und von einem User aufgerufen (in Arbeit) sind, lassen sich ja nicht überkopieren. Allerdings lassen auch sie sich umbenennen und man kann die EXE dann neu einkopieren. Das endet dann nur für den User irgendwann mit einer Fehlermeldung 8)

Danke für eure Mithilfe
Ewald
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Windows gibt Programme nicht sofort frei

Beitrag von Herbert »

brandelh hat geschrieben:Ich kann Uli nur zustimmen, der NAME der EXE (wie auch einer DLL) spielt nur beim Starten eine Rolle, danach wird intern ein DWORD als Kennung verwendet.
Für automatische Updates habe ich schon DLLs umbenannt, andere haben dann die Umbenennung der EXE erwähnt und ich habe es probiert. Es geht.
Ja, aber...
Es darf doch nicht sein, dass eine Anwendung mit laufendem Dienst einfach umbenannt werden kann? Man kann und sollte dies verhindern. Oder werden da Xbase-Schwächen offenbar?
Microsoft sperrt ja sogar (auch zu meinem Aerger) die Dateien, welche geöffnet sind (und damit auch eventuelle Seriebrief-Datenfiles).
Grüsse Herbert
Immer in Bewegung...
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Windows gibt Programme nicht sofort frei [erledigt]

Beitrag von georg »

Hallo, Herbert -


noch einmal: Microsoft sperrt die Anwendung, d.h. die Sammlung an Bytes, die auf der Platte stehen. Der Eintrag im Verzeichnis kann geändert werden. Das mache ich (wenn diese Problemphase mal wieder auftritt) mit den uralten Befehlen in der Befehlseingabe.

Ja, ich vermute irgendwelche Probleme in Xbase++, da diese Probleme meist nach einem Programmcrash auftreten. Aber lokalisieren konnte ich die Ursache bisher nicht. Und ich bin froh, dass es derzeit nicht auftritt.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 475
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Windows gibt Programme nicht sofort frei [erledigt]

Beitrag von Ewald »

Da hänge ich mich trotz [erledigt] noch mal rein.
Grade getestet. Ich habe MS-Word aufgerufen und dann problemlos MSWORD.EXE in _MSWORD.EXE umbenannt. Hat also mit XBase Anwendungen nichts zu tun.
@georg,
als ich damals (gestern :) ) das Problem bei mir akut hatte, hat es überhaupt keine Rolle gespielt, ob das Programm gecrasht ist, ganz normal oder mit ALT+C beendet wurde. Bin immer noch verwundert, das es weg ist.
ein Teufelskreis
Gruß
Ewald
Benutzeravatar
Klaus Schuster
Foren-Administrator
Foren-Administrator
Beiträge: 366
Registriert: Do, 24. Jan 2008 10:01
Wohnort: 90762 Fürth
Hat sich bedankt: 9 Mal
Danksagung erhalten: 9 Mal

Re: Windows gibt Programme nicht sofort frei [erledigt]

Beitrag von Klaus Schuster »

Hallo Ewald,

der von Dir beschriebenen Effekt tritt bei mir immer dann auf, wenn es einen von der Applikation verursachten Fehler während des Einsatz von List&Label gibt.
Gruß Klaus
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Windows gibt Programme nicht sofort frei [erledigt]

Beitrag von georg »

Hallo, Ewald -


doch, es hat etwas mit Xbase zu tun.

Wir haben zwei Effekte: das Umbenennen eines Programms, das man nicht löschen kann (weil es wohl noch geöffnet ist) - das sollte geklärt sein.

Dass wir diesen Effekt haben, dass wir ein Xbase-Programm, das beendet (oder abgestürzt) ist, nicht löschen können, das liegt irgendwo an Xbase++. Irgendetwas wird nicht sauber geschlossen, und es dauerte (zumindest bei mir) so um die 15 bis 20 Minuten (gefühlt), ehe ich das (umbenannte) Programm löschen konnte.

Jetzt folgt reine Spekulation: der Garbage-Collector hat ein Problem, alles richtig zu beenden (eventuell ein Dll-Load) und nach einer gewissen Weile schafft er es oder bricht ab, und damit wird das Programm so freigegeben, dass man es löschen kann.

Andere Frage: verwendest Du OT4XB?
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 475
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Windows gibt Programme nicht sofort frei [erledigt]

Beitrag von Ewald »

Hallo Georg,
otx4 benutze ich, da ich ja nach und nach meine gesamten Xbase++ Anwendungen an mysql hänge. Mit seinerzeit kräftiger Unterstützung aus der Eifel ...
Ich hatte ja auch den Garbage-Collector in Verdacht. Ich habe auch irgendwo schwach in Erinnerung, das es irgendwo die Möglichkeit gab, an der Schraube zu drehen wie lange ein Server eine EXE bzw, ein DLL nach Abschluss blockiert. Aber da habe ich Jahre nicht dran gedreht und das kann auf keinen Fall der Auslöser gewesen sein.
Und jetzt - ganz wichtig - ist das Problem bei mir weg. Die Programme sind nach Abschluss oder Absturz sofort frei. Seit ich eben eine 14 Tage alte Datensicherung der Systempartition zurückgeholt habe.
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Windows gibt Programme nicht sofort frei [erledigt]

Beitrag von Herbert »

Ja, dieses Verhalten habe ich bei zwei, drei Kunden auch.
Lästig wird dies bei Einspielen von Updates.
Unter Windev kann tatsächlich ein geöffnetes .exe auch nicht umbenennt werden, was ich sehr gut finde.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Windows gibt Programme nicht sofort frei [erledigt]

Beitrag von brandelh »

versuch es mal mit ren von der Befehlszeile oder dem Explorer ;-)
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Windows gibt Programme nicht sofort frei [erledigt]

Beitrag von AUGE_OHR »

Ewald hat geschrieben:Ich habe auch irgendwo schwach in Erinnerung, das es irgendwo die Möglichkeit gab, an der Schraube zu drehen wie lange ein Server eine EXE bzw, ein DLL nach Abschluss blockiert. Aber da habe ich Jahre nicht dran gedreht und das kann auf keinen Fall der Auslöser gewesen sein.
HKEY_CURRENT_USER\Control Panel\Desktop\HungAppTimeout
http://technet.microsoft.com/en-us/libr ... 78604.aspx

HKEY_CURRENT_USER\Control Panel\Desktop\WaitToKillAppTimeout
http://technet.microsoft.com/en-us/libr ... 78604.aspx

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WaitToKillServiceTimeout
http://support.microsoft.com/kb/839262

Frage : wo liegt die (gesperrte) EXE ? Server oder Lokal ?
gruss by OHR
Jimmy
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Windows gibt Programme nicht sofort frei [erledigt]

Beitrag von Herbert »

brandelh hat geschrieben:versuch es mal mit ren von der Befehlszeile oder dem Explorer ;-)
Nein geht nicht :)
Grüsse Herbert
Immer in Bewegung...
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 475
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Windows gibt Programme nicht sofort frei [erledigt]

Beitrag von Ewald »

Hi Jimmi,
stimmt, als ich vor Jahren an der Schraube gedreht habe lagen die EXE's auf dem Server und wurden über das Netz aufgerufen. Damals wollte ich ab und zu Updates einspielen, aber obwohl alle User schon aus dem Büro waren, ging das teilweise nicht, da der Server die Programme noch blockiert hat. Irgendwann waren sie dann ohne mein weiteres Zutun frei.

Bei dem Problem das ich hier jetzt angerissen habe liegen die EXE's lokal und ich hätte erst mal eine Zusammenhang ausgeschlossen. Bis ich jetzt mal nachgeschaut habe und ich diese Reg-Einträge auch auf dem normalen Windows 7 Rechner finde.

Will sagen, das ich ja auch auf einen Server die EXE lokal aufrufen kann - genau so wie ich die EXE auf einem normalen WIN 7 Rechner auch über das Netz aufrufen kann.
Also könnten meiner Meinung nach Änderungen an diesen Reg-Einstellungen (gewollt oder ungewollt) auf einem Win 7 Rechner auch zu dem geschilderten Problem führen.

Kann ich aber alles nur vermuten, da sich das Problem bei mir erledigt hat. Sollte es wieder auftreten werde ich als erstes diese Reg-Einträge mal überprüfen.

Gruß
Ewald
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Windows gibt Programme nicht sofort frei [erledigt]

Beitrag von brandelh »

Herbert hat geschrieben:
brandelh hat geschrieben:versuch es mal mit ren von der Befehlszeile oder dem Explorer ;-)
Nein geht nicht :)
Kann es sein, dass deine EXE in einem geschützen Programmverzeichnis liegt und du keine Adminrechte hast ?

Ich habe es eben mit einer PowerBasic EXE probiert (in c:\test\...) und ich konnte die EXE mit dem Explorer einfach umbenennen.
Gruß
Hubert
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Windows gibt Programme nicht sofort frei [erledigt]

Beitrag von Herbert »

Nein, nichts von deinen Vermutungen. Es ist wie es ist, und das ist gut so.
Und was ums Himmels Willen ist Powerbasic :confused4:
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Windows gibt Programme nicht sofort frei [erledigt]

Beitrag von brandelh »

Herbert hat geschrieben:Und was ums Himmels Willen ist Powerbasic :confused4:
Der Ursprung meiner PC Programmiersprachen ... TurboBasic (Verkauf durch Borland) umbenannt nach PowerBasic (DOS) nach dem Ausstieg von Borland und Rückkauf durch Entwickler.
(Heute Win32 Bit Entwicklungsumgebung. Kleine schnelle Programme)
Erst danach lernte ich Clipper => VO => Xbase++
Gruß
Hubert
Antworten