Ich möchte den mehrfachen Start einer Applikation verhindern und zwar möglichst plattformunabhängig und mit wenig Abhängigkeiten. Idealerweise kann eine App der vorherigen Instanz eine Nachricht schicken, z.B: eine Datei zu öffnen. Da hab ich bisher folgende Lösungsansätze gesehen:
- Lockfile
- Socket aufmachen
Das erste ist ja sowas von unelegant: Wenn die Instanz abraucht und das Lockfile nicht löscht hat der Anwender den Ärger. Beim Socket hat man das Problem nicht und man könnte sogar noch eine Nachricht verschicken. Aber so 100%ig bin ich damit auch noch nicht zufrieden. Irgendwo hab ich jetzt was anderes gelesen, das basiert auf der Idee, dass eine shared-lib nur einmal vom System geladen werden soll. Bringt man nun eine statische Variabel in einer Lib unter, könnte man so die Instanzen zählen und evtl. über Callbacks auch Nachrichten verschicken. Da ich das nur sehr grob im Kopf hab, wie das funktionieren kann, würde ich gerne Meinungen dazu hören.
Lesezeichen