Использование SIGAR для получения информации о процессе оракула с сервера веб-приложений (glassfish4)
Я работал над веб-монитором, используя sigar для сбора системной информации, но теперь мне нужно получить данные об использовании ОЗУ и ЦП Oracle. Я сделал это с помощью функции sigar.getProcCpu(pid).getTotal().
Но когда я внедряю приложение на glassfish 4, я получаю сообщение об ошибке: org.hyperic.sigar.SigarPermissionDeniedException: доступ запрещен.
есть ли обходной путь для этого? Могу ли я дать Сигарю доступ к информации, которую я запрашиваю?
1 ответ
У меня точно такая же проблема, как и у вас. Я нашел этот пост после того, как задал вопрос и нашел ответ. И вот мой ответ на мой собственный вопрос:
ОС не позволяет вашей программе получать доступ к информации о процессе, пока вы не запустите программу с привилегиями администратора, поэтому мне нужно предоставить привилегии администратора.
Есть несколько способов предоставить права администратора, в том числе попросить пользователя щелкнуть правой кнопкой мыши по значку и выбрать "Запуск от имени администратора".
Но лучшим способом может быть обертывание вашего Java-приложения в.exe, как здесь и здесь, сказал.
Однако мне, вероятно, придется взломать ОС, как сказал здесь excowboy, поскольку я хочу показать информацию на веб-странице и не могу обернуть свое приложение в файл.exe.
Я думаю, что я должен сдаться. Просто разместите эти ссылки для тех, кому это может понадобиться.:) О, общее использование процессора доступно, если хотите, кстати.
Надеюсь, что это поможет вам и извините за мой плохой английский.;)