В Java нет prev-instance, но вы можете создать pid-файл в каталоге temp (или / var / run). (И сделать это File.deleteOnExit()
для очистки в любом случае при выходе)
Чтобы вывести существующее окно наверх, вы можете уведомить программу самостоятельно, через именованный канал, сокет unix или вызов удаленного метода java и т. Д. Простой и грязный способ - записать небольшой файл, скажем $TEMP/foobar-app.bring-to-top
, и программа должна периодически опрашивать этот маленький файл, если он существует, вывести окно наверх и удалить этот маленький файл.
Я полагаю, что Java не может обрабатывать сигналы, т. Е. kill -HUP PID
может не работать для приложений Java. Даже если это возможно, не у каждой ОС есть сигналы.