Ist es möglich zu überprüfen, ob eine Java-Anwendung bereits ausgeführt wird, und wenn ja, erhalten Sie eine Instanz davon? Angenommen, ich habe ein Jar, das beim ersten Klick einen Frame öffnet, und jedes Mal danach (bis es geschlossen ist), erhält es den Frame und fügt ein Objekt hinzu. Dies muss auch funktionieren, ohne dass die Hauptanwendung eine close() -Methode hat, so dass die Anwendung wieder funktioniert, wenn sie erneut geöffnet wird, wenn sie nicht mehr reagiert oder mit dem Task-Manager geschlossen wurde.Get-Instanz der gleichen Java-Anwendung, wenn es bereits ausgeführt
0
A
Antwort
1
Java-Anwendungen arbeiten auf verschiedenen Prozess.
So ist es nicht so einfach, zwischen zwei verschiedenen Prozess (bereits laufende Anwendung und die neue) zu interagieren.
Sie können einen Kommunikationsmechanismus zwischen Prozessen finden und verwenden. Typische inter process communications verwenden Sie Dateien oder eine gemeinsame Datenbank.
Sie können die ID des aktuellen Hauptthreads speichern, der Ihre Java App ausführt.
Wenn ein neuer Prozess startet, prüfen Sie, ob eine bereits laufende Anwendung vorhanden ist. Wenn ja, können Sie das gleiche (oder ein neues) Kommunikationssystem zwischen Prozessen verwenden, um Informationen zu senden, die der Hauptprozess aktualisieren sollte. Dann tötet sich der sekundäre Prozess selbst.
Verwandte Themen
- 1. Skript nicht ausführen, wenn es bereits ausgeführt wird
- 2. Programm ausführen, aber nicht, wenn bereits ausgeführt
- 3. gleichen Schlüssel bereits hinzugefügt
- 4. Retrofit „Illegal: Bereits ausgeführt“
- 5. Wie zu verhindern, dass der Dienst erneut ausgeführt wird, wenn Android bereits ausgeführt wird
- 6. Wie wird ein kurzer Tastendruck in der gleichen Zeit ausgeführt, wenn ein langer Tastendruck ausgeführt wird?
- 7. Stop Hangfire startet einen wiederkehrenden Job, wenn es bereits läuft
- 8. Nichts tun, wenn die gleiche Funktion bereits ausgeführt wird
- 9. Schließen, was bereits läuft, wenn in Eclipse ausgeführt
- 10. Es gibt ein Problem, wenn mehrere Aktivitäten gleichzeitig ausgeführt werden.
- 11. Verschieben Linux-Verzeichnis, wenn es bereits existiert
- 12. Wenn und sonst JavaScript-Funktion zur gleichen Zeit ausgeführt werden
- 13. Erkennen, ob eine andere Instanz der Anwendung bereits ausgeführt wird
- 14. C#: Redirect Standardausgabe eines Prozesses, der bereits ausgeführt wird
- 15. Was passiert, wenn ich auf eine Aufgabe warte, die bereits ausgeführt wird oder ausgeführt wird?
- 16. prüfen, ob ein Prozess läuft, und Ausgang, wenn es bereits
- 17. Mehrere Domänen mit der gleichen Anwendung Firebase als Backend ausgeführt
- 18. Führen Sie Python-Skript nur, wenn es nicht ausgeführt wird
- 19. Was passiert, wenn Sie den ElasticSearch-Index ausführen, während der Index bereits ausgeführt wird?
- 20. sqlite3_prepare_v2 Absturz - Bereits vorhergehende Abfrage ausgeführt
- 21. Shell-Skript, um zu überprüfen, ob der Prozess bereits ausgeführt wird und beenden, wenn ja
- 22. PHP Warning: Modul ‚ldap‘ & ‚mysql‘ bereits geladen, wenn PHP auf der Kommandozeile ausgeführt
- 23. Wie kann sichergestellt werden, dass der Endpunkt eine Methode nicht ausführt, wenn sie bereits ausgeführt wird?
- 24. Wie Update-Funktion zu überprüfen, ob es den gleichen Kontext geladen hat, wie es bereits ist?
- 25. Überspringt ein SQL Server-Auftrag einen geplanten Lauf, wenn er bereits ausgeführt wird?
- 26. Wie wird `rails generate scaffold` ausgeführt, wenn das Modell bereits existiert?
- 27. Asrestore: Sekundärindizes gelöscht, wenn bereits
- 28. Erstellen Sie einen Ordner, wenn es nicht bereits existiert
- 29. Android: Spinner Artikel auf klicken does't Arbeit, wenn es bereits
- 30. Probleme EINFÜGEN Datensatz, wenn es nicht bereits existiert
Haben Sie die Links im Abschnitt "Verwandte" auf der rechten Seite dieser Seite überprüft? – assylias
Ja, ich habe ein paar Methoden gefunden, die überprüfen können, ob die App bereits läuft. Aber ich frage auch nach 2 zusätzlichen Methoden –