Нахождение процесса из Java - PullRequest
0 голосов
/ 10 августа 2009

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

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

Ответы [ 2 ]

1 голос
/ 10 августа 2009

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

У вас есть два варианта, один из которых - запустить инструмент командной строки, который выведет список запущенных процессов и проанализирует его вывод. Как упоминал Джей в Linux, можно использовать «ps», в Windows вам нужно будет связать какой-либо инструмент, либо порт ps из GnuWin / cygwin / etc, либо собственный инструмент, такой как PsList , либо посмотреть образец .

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

0 голосов
/ 10 августа 2009

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

...