Mehrfachen Start des Programms verhindern

haimat

Mitglied
Hallo zusammen!

Ich schreibe derzeit an einem Java-Programm, von dem ich möchte, dass nur eine Instanz auf einem Computer gleichzeitig laufen kann. Dazu verwende ich einen Socket, den ich reserviere und öffne. Die zweite Instanz erkennt den geöffneten Socket und beendet sofort wieder. Mir gefällt dieser Ansatz allerdings nicht besonders -- ich möchte lieber keinen Socket öffnen müssen (schon allein um die Meldung der Windows-Firewall beim ersten Start zu vermeiden). Auch möchten manche User das weniger gern, wenn "unerwünschte" Sockets geöffnet werden.

Eine andere Alternative, die ich versucht habe, ist es, die erste Programminstanz ein File exclusive locken zu lassen, die zweite Instanz könnte das dann nicht mehr und beendet sich wieder. Dies hat unter Windows super funktioniert, allerdings leider unter Linux nicht. Wei es scheint, ist es mit den Standard-Konfigurationen einiger Linux-Distributionen möglich, dass mehrere Instanzen den Lock auf ein File erhalten -- oder habe ich da etwas übersehen?

Kennt einer von euch noch eine andere, elegantere Möglichkeit, dieses Problem zu lösen?
Ich bin für jeden hilfreichen Tipp dankbar :)

Viele Grüße, Matthias
 

Wildcard

Top Contributor
Du kannst beim Start eine Datei anlegen und sie beim Beenden löschen. Ist allerdings doof wenn dein Programm abschmiert und die Datei nicht gelöscht wird.
Nativ kann man da einiges machen. Der Eclipse Launcher kann das zB von Haus aus. Vielleicht kannst du dir da was abschauen oder den Launcher direkt verwenden und Equinox als Basis für deine Anwendung benutzen.
 

haimat

Mitglied
Du kannst beim Start eine Datei anlegen und sie beim Beenden löschen. Ist allerdings doof wenn dein Programm abschmiert und die Datei nicht gelöscht wird.

... daran habe ich auch schon gedacht. Allerdings, wie du schreibst, wenn das Programm oder der Rechner abstürzt, dann würde das Programm beim nächsten Mal überhaupt nicht mehr starten, wenn man diese Daten nicht manuell löscht. Leider auch nicht sehr elegant :(

Wenn möglich würde ich natürlich gerne auf Bordmittel zurückgreifen, ohne externe Bibliotheken oder sowas...

VG, Matthias
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Jar-File Start nur über Terminal Allgemeine Java-Themen 13
J Junit start surefire for manual testing Allgemeine Java-Themen 1
KeTho1712 Java Swing: JTable standardmäßig füllen, sodass bei Start bereits Datensätze gespeichert sind Allgemeine Java-Themen 1
J Linux .jar beim Start automatisch ausführen Allgemeine Java-Themen 6
O Start externer Programme Allgemeine Java-Themen 1
Meeresgott Best Practice Java to exe oder exe to start java ? Allgemeine Java-Themen 5
J Probleme exe-Start mit Task Scheduler Allgemeine Java-Themen 1
T Erste Schritte FAIL - Deployed application at context path / but context failed to start Allgemeine Java-Themen 1
JavaNewbie2.0 Start eines Anderen Programm erkennen Allgemeine Java-Themen 6
K Erste Schritte Start einer JAR Datei 2 Wege aber einmal nicht die volle Funktionlität Allgemeine Java-Themen 20
P Java https proxy (-Dhttps.proxyHost) Start-Parameter funktioniert nicht? Allgemeine Java-Themen 2
C Can't start application since jvm.dll is not installed Allgemeine Java-Themen 1
L Java Web Start - generierter Prozess Allgemeine Java-Themen 4
M Swing JFreechart x-Achse DateAxis, start im Ursprung Allgemeine Java-Themen 3
F Java Error, bei Installation, Start und dem Control Panal Allgemeine Java-Themen 8
X Skalierung von Bildern zum Start des Programms Allgemeine Java-Themen 3
S Start des zweiten Threads erst nach Beenden des ersten Threads Allgemeine Java-Themen 13
X Problem bei process.start() ExitValue Allgemeine Java-Themen 5
B Best Practice Start-Applikation mit Logger? Allgemeine Java-Themen 3
A Start Ladescreen Allgemeine Java-Themen 2
A Could not find main class: start Allgemeine Java-Themen 5
S Probleme beim Start von jar Datein Allgemeine Java-Themen 15
G Webstart Java Web Start und native Bibliotheken Allgemeine Java-Themen 3
P Problem mit Java Web Start Allgemeine Java-Themen 1
L Java Web Start: IE Konfiguration? Allgemeine Java-Themen 5
H Unterschied EventQueue.invoke... und thread.start() Allgemeine Java-Themen 4
J Dateinamen beim Start auslesen Allgemeine Java-Themen 10
F Java Web Start Parameterübergabe an Applikationsumgebung Allgemeine Java-Themen 2
A Start von Java Plugin Allgemeine Java-Themen 2
M Java Web Start - Native DLL einbinden Allgemeine Java-Themen 2
D Speicher beim Start zuweisen Allgemeine Java-Themen 10
Q 32 bit 64 bit start up problem Allgemeine Java-Themen 6
T JDialog vor Hauptfenster beim Start Allgemeine Java-Themen 5
E Focus nach Start eines externen Programmes Allgemeine Java-Themen 6
H Webstart...Start dauert ewig... Allgemeine Java-Themen 5
G Auf den Start eines Threads warten? Allgemeine Java-Themen 4
T Mehrmaligen Start verhindern Allgemeine Java-Themen 19
W Windows XP: ProcessBuilder.start: Kommandoshell anzeigen Allgemeine Java-Themen 3
G Prozess direkt starten beim Start des Appservers Allgemeine Java-Themen 3
M Probleme Runtime.getRuntime().exec(Start.cmd); Allgemeine Java-Themen 10
M Windows: Start --> Ausführen --> [url]http://meine.url.com[/url] Allgemeine Java-Themen 3
P Start eines Programms scheitert an Java Allgemeine Java-Themen 9
B Start - Schwierigkeiten Allgemeine Java-Themen 10
zilti Eclipse meldet Fehler beim Start Allgemeine Java-Themen 8
L Nutzt Java bei Start der VM übermäßig viel Speicher? Allgemeine Java-Themen 3
G In Eclipse läufts, aber bei java Start.class gehts nicht Allgemeine Java-Themen 8
M Fehler beim Start des Chat-Applets von java-forum.org Allgemeine Java-Themen 10
C Java Web Start Allgemeine Java-Themen 3
M Access lässt sich nicht über "exec(command)" start Allgemeine Java-Themen 3
S eclipse start bringt fehler Allgemeine Java-Themen 2
S API für Start-menu und Links Allgemeine Java-Themen 2
T doppelgeklickte Datei automatisch nach Start des Prog öffnen Allgemeine Java-Themen 2
G Runtime.getRuntime().exec("cmd /c START") Allgemeine Java-Themen 3
F IE-Applet vs. Java Web Start Allgemeine Java-Themen 5
X Applikation Java Web Start fähig machen Allgemeine Java-Themen 4
X Parameter bei Start über Batch-Datei übergeben(Tag und Zeit) Allgemeine Java-Themen 3
S Java Web Start Anwendungen laden nicht vernünftig Allgemeine Java-Themen 6
G Name des aktuellen Programms Allgemeine Java-Themen 7
Speed FariyDragon Startsituation des Programms Feststellen Allgemeine Java-Themen 1
Lukas2904 Automatisches starten des Programms Allgemeine Java-Themen 5
S Ausfuehrung eines Programms aufzeichnen..? Allgemeine Java-Themen 4
J Webstart Lizenz des entwickelten Java-Programms Allgemeine Java-Themen 5
S Fehlermeldungen erscheinen erst in der Ausführung des Programms Allgemeine Java-Themen 11
C -Verschiedene Versionen eines Programms verwalten Allgemeine Java-Themen 7
MineJoke "Config" Datein wir bei neustart des Programms neu erstellt? Allgemeine Java-Themen 0
R Instanzen eines Programms Allgemeine Java-Themen 8
H Copy Paste implementieren ausserhalb des Programms? Allgemeine Java-Themen 2
Fab1 Komponenten eines zweiten Java Programms auslesen Allgemeine Java-Themen 8
K Eclipse Fehler beim Ausführen meines Programms in Eclipse Allgemeine Java-Themen 11
M Umgebungsvariable Version des Programms Allgemeine Java-Themen 10
C Ablauf des Programms anhalten, bis.... Allgemeine Java-Themen 5
N Erste Schritte Neuschreiben eines C++ Programms in Java Allgemeine Java-Themen 4
L Richtige Dokumentation eines Java Programms Allgemeine Java-Themen 5
T Update eines Programms - Beenden eines anderen Prozesses überwachen Allgemeine Java-Themen 8
O Problem bei Darstellung der Laufzeit eines Programms Allgemeine Java-Themen 3
E Standort des Programms herausfinden Allgemeine Java-Themen 4
P Sauberes Beenden des Programms beim Herunterfahren? Allgemeine Java-Themen 9
G Erweiterung eines Programms Allgemeine Java-Themen 29
G Konfiguration eines Java- Programms Allgemeine Java-Themen 20
G Speicherverbrauch eines Programms Allgemeine Java-Themen 2
A Nur eine Instanz eines Programms ausführen Allgemeine Java-Themen 3
S Mausklick außerhalb des Programms erzeugen? Allgemeine Java-Themen 23
B nur eine Instanz eines Programms laufen lassen Allgemeine Java-Themen 8
J Problem bei Ablauf des Programms DuddeDa Allgemeine Java-Themen 7
S Aufruf meines Programms Allgemeine Java-Themen 2
I Sprache zur Laufzeit des Programms ändern Allgemeine Java-Themen 3
G Laufzeit eines aus Java gestarteten Programms beobachten Allgemeine Java-Themen 3
P Priorität einen Programms erhöhen, wie mach ich das? Allgemeine Java-Themen 3
P Nur eine Instanz eines Programms zulassen, wie geht das? Allgemeine Java-Themen 15
M err oder alle Exceptions eines Programms abfangen Allgemeine Java-Themen 4
C Probleme beim Starten eines Java-Programms Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben