User since
2003-08-15
2653
Artikel
BenutzerIn
kann man auch irgendwie verhindern, dass ein programm mehrfach zur selben zeit ausgeführt wird ?
Meine Idee war jetzt, nen Key in die registry zu schreiben wenn das programm aktiv ist. wenn es dann also ein zweites mal gestartet wird, wird das solange unterdrückt wie der registry-schlüssel existiert.
Das wäre aber nur eine äußerste Notlösung weil dann bleibt ja müll in der registry zurück, z.b. wenn jemand das programm abbricht und dieses dadurch nichtmehr die zeit hat den schlüssel wieder zu entfernen.
gibts für sowas auch noch andere möglichkeiten?
User since
2005-01-17
14790
Artikel
Admin1
Hole doch die Liste der laufenden Programme, dann kannst du vor dem Starten schon sehen, dass es nicht gestartet werden muss.
User since
2003-08-04
14371
Artikel
ModeratorIn
steht bei Windows aber nicht nur perl.exe in der Liste??
User since
2004-09-06
458
Artikel
BenutzerIn
Genau so würde ich es auch machen.
Mit Win32::Api kannste du es suchen.
User since
2004-09-06
458
Artikel
BenutzerIn
[quote=renee,11.05.2005, 10:12]steht bei Windows aber nicht nur perl.exe in der Liste??[/quote]
Wenn du ne Exe draus machst nicht. ;)
Und ansonsten kann man der Perl.exe noch ein Title mitgeben und diesen kannste per Win32::Api suchen.
User since
2005-01-17
14790
Artikel
Admin1
[quote=renee,11.05.2005, 10:12]steht bei Windows aber nicht nur perl.exe in der Liste??[/quote]
Du kannst doch die Kommandozeile des Prozesses/Programms auslesen, da steht dann auch das Skript drin.
User since
2003-08-04
14371
Artikel
ModeratorIn
Ok ok, ich nehm alles zurück und behaupte das Gegenteil ;)
User since
2003-11-28
3645
Artikel
ModeratorIn
Ich wuerde ein Lockfile verwenden. Das ist wenigstens atomar.\n\n
<!--EDIT|ptk|1115809908-->
User since
2004-09-06
458
Artikel
BenutzerIn
[quote=ptk,11.05.2005, 13:10]Ich wuerde ein Lockfile verwenden. Das ist wenigstens atomar.[/quote]
Kann aber bei einem harten Programmende auch dazu führen das das Programm danach nicht mehr startbar ist.