Как использовать Java-программирование для проверки процесса и порта жив или нет? - PullRequest
0 голосов
/ 19 октября 2011

Я просто подумываю построить кластерное программное обеспечение в Linux на Java. Я хочу контролировать загрузку процессора, например, если загрузка процессора выше порогового значения, то я уменьшаю размеры потоков выполнения. Я думал, что смогу проверять загрузку процессора раз в секунду или пару секунд потоком демона, как реализовать это в Java? и Как внедрить в Java, если я собираюсь проверить, мертв ли ​​определенный процесс или нет, и порт, который он открывает, потерян или нет?

1 Ответ

1 голос
/ 19 октября 2011

Нет способа (AFAIK) сделать это на чистой Java.Вы могли бы написать какой-нибудь нативный C для этого, а затем выполнить интерфейс, используя JNA / JNI (что было бы наиболее надежным решением).

В качестве альтернативы, быстрый простой хакерский подход (если вы просто используете Linux) будетиспользовать Runtime.exec() для вызова одного из этих нативных подходов, которые затем можно было бы проанализировать изнутри Java.

С точки зрения проверки, является ли процесс мертвым, вы можете использоватьвышеупомянутый подход, но с ps.

РЕДАКТИРОВАТЬ: Это может быть что-то, что помогает.

...