Как остановить выполнение второго экземпляра моего приложения, если он уже запущен в JAVA?

Когда я запускаю свое приложение с помощью файла .jar, отображается графический интерфейс, а javaw.exe отображается в Системных процессах в диспетчере задач. Но когда я снова запускаю файл .jar, не закрывая первый, запускается второй процесс javaw.exe и отображается второй графический интерфейс. Как мне это остановить? Я хочу, чтобы в каждый момент времени был только один экземпляр моего приложения, независимо от того, сколько раз я запускал файл .jar.


person Kazizen    schedule 28.03.2014    source источник


Ответы (3)


здесь есть несколько решений.

Однако обратите внимание, что решение сокета необходимо изменить, если вы беспокоитесь, что что-то еще на том же компьютере может использовать тот же порт.

person cybersam    schedule 28.03.2014

Один простой способ - открыть сокет на фиксированном номере порта. ОС будет требовать, чтобы это мог делать только один процесс.

person Bohemian♦    schedule 28.03.2014

Зарегистрировать значение в файле, вероятно, является самым простым решением.

person Johan Frick    schedule 28.03.2014
comment
В случае краха программы, как вы снова запустите приложение? - person shiv.mymail; 03.06.2016