LINUX.ORG.RU

java: предотвратить повторный запуск программы


0

0

Хочу, чтоб моя программа стартовала не более одного раза (в т.ч. из разных мест). При попытке повторного запуска буду выводить диалог, предлагающий убиться об стену, убить предыдущий экземпляр или просто запустить вторую копию. Есть ли общепринятые кроссплатформенные решения?

anonymous

Общепринятый способ - создавать флаговый файл где-нибудь во временном месте и проверять его наличие. Eclipse так делает, jEdit, да мало ли ещё кто...

jek_
()
Ответ на: комментарий от hatefu1_dead

> /var/run для этого вообще-то

А в винде?

Кстати, нет ли в java чего-нибудь типа GetTempDirectory()? Я её только начинаю изучать, так что не в курсе.

anonymous
()
Ответ на: комментарий от Pi

"Есть ли общепринятые кроссплатформенные решения?" читали? Или java мне в винде сама /var/run сделает?

anonymous
()
Ответ на: комментарий от anonymous

я не понял... ты пришёл спрашивать, где в винде временная директория или куда?

Pi ★★★★★
()
Ответ на: комментарий от anonymous

А в винде именованный мьютек создается и WaitForSingleObject вызывается при старте (если на АПИ делать). Иначе - только через некий файл.


Кстати, не совсем понятно, почему в линухе нужно файл создавать, а не получить инфу из уже запущенного процесса. Нет таких механизмов?

mst_72
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.