Как организовать получение списка процессов на Java? Есть задача - написать аналог диспетчера задач под windows используя системные вызовы и jni.Есть ли способ организовать получение списка процессов системы, постоянно её не опрашивая?Можно ли организовать получение процессов по принципу listener/observer?(т.е когда система сама будет оповещать о изменении списка процессов).
Для получения списка процессов на Java можно воспользоваться библиотекой jproc, которая является оберткой над системными вызовами для работы с процессами в UNIX-подобных системах. С помощью jproc вы сможете получить список процессов, их атрибуты и информацию о них.
Для создания аналога диспетчера задач под Windows с использованием JNI и системных вызовов, вы можете использовать библиотеку JNA (Java Native Access), которая позволяет вызывать функции из динамических библиотек напрямую из Java, без необходимости писать нативный код. С помощью JNA вы сможете получать информацию о процессах, управлять ими и мониторить их состояние.
Чтобы получать информацию о процессах системы без необходимости постоянного опроса, можно использовать механизмы прослушивания изменений в системе, такие как использование системных событий или механизмов наблюдателя (observer). Например, вы можете использовать Java NIO для создания мониторинга файловой системы и отслеживать изменения в директориях, где хранятся исполняемые файлы процессов.
Таким образом, чтобы организовать получение списка процессов по принципу listener/observer, вам нужно будет создать механизм, который будет отслеживать изменения в системе и оповещать ваше приложение о новых процессах или изменениях в уже существующих.
Для получения списка процессов на Java можно воспользоваться библиотекой jproc, которая является оберткой над системными вызовами для работы с процессами в UNIX-подобных системах. С помощью jproc вы сможете получить список процессов, их атрибуты и информацию о них.
Для создания аналога диспетчера задач под Windows с использованием JNI и системных вызовов, вы можете использовать библиотеку JNA (Java Native Access), которая позволяет вызывать функции из динамических библиотек напрямую из Java, без необходимости писать нативный код. С помощью JNA вы сможете получать информацию о процессах, управлять ими и мониторить их состояние.
Чтобы получать информацию о процессах системы без необходимости постоянного опроса, можно использовать механизмы прослушивания изменений в системе, такие как использование системных событий или механизмов наблюдателя (observer). Например, вы можете использовать Java NIO для создания мониторинга файловой системы и отслеживать изменения в директориях, где хранятся исполняемые файлы процессов.
Таким образом, чтобы организовать получение списка процессов по принципу listener/observer, вам нужно будет создать механизм, который будет отслеживать изменения в системе и оповещать ваше приложение о новых процессах или изменениях в уже существующих.