Я хочу установить систему мониторинга на компьютер (программа представляет собой файл JAR) и запускать ее при запуске каждый раз, когда любой пользователь входит в систему. Тем не менее, я не хочу, чтобы пользователь мог прекратить его, поскольку тогда он не сможет больше отслеживаться.
Мы пробовали несколько способов:
Установка его как службы - проблема здесь в том, что наша программа больше не работает; он не может подключиться к компьютеру, который его отслеживает. Для этого мы использовали «Another Another Java Wrapper» и изучили некоторые другие оболочки, которые могут помочь нам установить его в качестве службы.
Запуск программы при запуске (с использованием запуска папки), но не предоставление обычному пользователю привилегий для редактирования / удаления / возни с файлами. Тем не менее, это, кажется, замедляет весь компьютер? Этого не происходит, когда мы запускаем файл bat, выполняя jar напрямую. Другая проблема заключается в том, что пользователь может просто зайти в диспетчер задач и убить процесс Java.
Мы попробовали вариант предыдущего, чтобы решить проблему прекращения процесса с помощью другого процесса. Один будет порождать другой, и эти 2 процесса будут следить друг за другом. Если один завершает работу, другой обнаруживает его и запускает, чтобы запустить снова. Хотя могут возникнуть проблемы, если пользователь достаточно быстр в уничтожении обоих процессов перед повторным вызовом одного из них, большая проблема заключается в том, что иногда возникают проблемы с подключением к другим компьютерам. У нас не было этой проблемы, когда это было всего 1 банка.
Кто-нибудь знает, как можно решить эти проблемы?
Контекст здесь - окна, но если у вас есть предложения по Linux и Mac, это тоже было бы неплохо!