Как организовать получение списка процессов на Java? Есть задача - написать аналог диспетчера задач под windows используя системные вызовы и jni.Есть ли способ организовать получение списка процессов системы, постоянно её не опрашивая?Можно ли организовать получение процессов по принципу listener/observer?(т.е когда система сама будет оповещать о изменении списка процессов).

21 Авг 2019 в 06:55
253 +1
0
Ответы
1

Для получения списка процессов на Java можно воспользоваться библиотекой jproc, которая является оберткой над системными вызовами для работы с процессами в UNIX-подобных системах. С помощью jproc вы сможете получить список процессов, их атрибуты и информацию о них.

Для создания аналога диспетчера задач под Windows с использованием JNI и системных вызовов, вы можете использовать библиотеку JNA (Java Native Access), которая позволяет вызывать функции из динамических библиотек напрямую из Java, без необходимости писать нативный код. С помощью JNA вы сможете получать информацию о процессах, управлять ими и мониторить их состояние.

Чтобы получать информацию о процессах системы без необходимости постоянного опроса, можно использовать механизмы прослушивания изменений в системе, такие как использование системных событий или механизмов наблюдателя (observer). Например, вы можете использовать Java NIO для создания мониторинга файловой системы и отслеживать изменения в директориях, где хранятся исполняемые файлы процессов.

Таким образом, чтобы организовать получение списка процессов по принципу listener/observer, вам нужно будет создать механизм, который будет отслеживать изменения в системе и оповещать ваше приложение о новых процессах или изменениях в уже существующих.

20 Апр 2024 в 13:11
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир