Вопрос

В Java или через какой -то плагин Eclipse можно ли найти процесс по имени без Падение до нативного кода? В частности, я хочу определить, работает ли веб -браузер, и сообщить пользователю, что ему может потребоваться перезагрузить браузер.

Я знаю, что нативный код всегда вариант, но я хочу избежать настройки другой библиотеки JNI, если я могу избежать этого.

Это было полезно?

Решение

Это на самом деле дублированный вопрос, см. оригинальный.

У вас есть два варианта, один из которых состоит в том, чтобы запустить инструмент командной строки, в котором перечислены процессы работы и анализируют его вывод. Как упомянул Jay On Linux, можно использовать «PS», в Windows вам нужно будет объединить какой -то инструмент, либо порт PS от Gnuwin/Cygwin/и т. Д., Или нативный инструмент, подобный такому Pslist, или посмотрите на образец.

Второй вариант, о котором вы уже знаете, - использовать JNI, однако вам не нужно писать свой код с нуля, вы можете рассмотреть Jniwrapper. Анкет Он обеспечивает прост в использовании Java API для обычных нативных функций ОС. Они также предоставляют бесплатные лицензии на проекты с открытым исходным кодом.

Другие советы

Я не знаю никакого способа получить список процессов запуска непосредственно от Java. Если вы находитесь на Linux, вы можете создать процесс, который выполняет «PS», прочитайте входную серию процесса, чтобы перехватить результаты и проанализировать его. Вам не нужно будет переходить на уровень JNI, чтобы сделать это: вы можете выполнить команду оболочки с процессом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top