На самом деле это дублирующий вопрос, см. оригинальный .
У вас есть два варианта, один из которых - запустить инструмент командной строки, который выведет список запущенных процессов и проанализирует его вывод. Как упоминал Джей в Linux, можно использовать «ps», в Windows вам нужно будет связать какой-либо инструмент, либо порт ps из GnuWin / cygwin / etc, либо собственный инструмент, такой как PsList , либо посмотреть образец .
Второй вариант, о котором вы уже знаете, - это использование JNI, однако вам не нужно писать код с нуля, вы можете рассмотреть JniWrapper . Он предоставляет простой в использовании Java API для обычных функций ОС. Они также предоставляют бесплатные лицензии для проектов с открытым исходным кодом.