INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Laufende exe soll den Start einer anderen exe verhindern.



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

12.02.2017, 19:43
Beitrag #7

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Laufende exe soll den Start einer anderen exe verhindern.
(02.02.2017 16:30 )TpunktN schrieb:  Servus LV'er und LV'erinnen,

an einer Anlage gibt es zwei Programme, eine Automatik und einen manuellen Betrieb. Beides .exe Programme die auf ein Delphin Messsystem zugreifen. Wenn jetzt beide Programme laufen, blockieren sie sich teils gegenseitig, z.Bsp.: Motorregelung oder Gerät lesen.

Im Forum habe ich jetzt schon einige Dinge gefunden: Shared Variable, diverse localhost, ..
Alles machbar, aber aufwendig und nicht unbedingt gegen Fehler abgesichert (Programmabsturz setzt den Wert nicht zurück)

Deswegen meine Suche nach einer einfachen Lösung, zB die Abfrage ob Programm xy läuft, oder gar eine integrierte Lösung in LabVIEW.

Meine Lösungsidee bis jetzt: Der Messkarte ein virtuellen Ausgang zu aktivieren, wenn eines der Programme startet und beim beenden zu deaktivieren. Beide Programme müssen beim Start diesen Ausgang lesen und sich evtl selbst beenden.
Was mir nicht gefällt, wenn das Programm nicht richtig beendet wird, bleibt der Wert und ich benötige eine Art Reset.

Hätte ich in der such und schreibzeit statdessen programmiert, währe ich wohl fertig. Dafür habe ich gelernt GVs funktionieren nicht zwischen .exe Big Grin Big Grin

Grundsätzlich ist die Idee mit einem Lock File gar nicht mal so schlecht. Jede Applikation probiert das File zu öffnen und setzt danach gleich die Sharingerlaubnis mit "Deny Access" so dass keine andere Applikation das noch öffnen darf. Danach lässt man das File offen bis man mit der Resource nichts mehr tun will und schliesst es dann. Wenn der Prozess abstürzt schliesst Windows das File automatisch und geht es doch noch gut.

Das folgende ist ziemlich rauh und würde ich so sicher nicht implementieren. Das Handling des Lockfiles würde ich in eine Intelligente Globale Variable verlegen mit den Methoden "Aquire Lock" und "Release Lock" für den Versuch das File zu öffnen (Acquire Lock) die den Status zurückgibt ob das auch gelungen ist und in dem Fall wird die FileRefnum im internen Shiftregister abgespeichert. Die zweite Method (Release Lock) schliesst die FileRefnum einfach.

   

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: Laufende exe soll den Start einer anderen exe verhindern. - rolfk - 12.02.2017 19:43

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Installation unter Windows 10 verhindern tuhpon 2 6.700 17.09.2019 17:21
Letzter Beitrag: tuhpon
  mehrere Programminstanzen bei unterschiedlichen Benutzern verhindern Goldie 7 8.992 03.10.2014 12:47
Letzter Beitrag: rasta
  EXE macht was es will - am anderen Rechner gottfried 5 4.822 26.03.2010 16:05
Letzter Beitrag: gottfried
  exe mit einer anderen exe aufrufen stsc 3 5.726 12.11.2007 16:37
Letzter Beitrag: stsc
  Autostart der Applikation verhindern tron 15 15.503 04.07.2007 06:04
Letzter Beitrag: rolfk
  laufende VI's schließen jozeyhe 1 3.439 29.08.2006 13:19
Letzter Beitrag: Achim

Gehe zu: