Я хочу упомянуть, как мы можем перенаправить главный вывод команды в файл с помощью его пакетного режима (-b)
-b-n 1 вершины $> top.out. $ (дата + %s)
По умолчанию, вершина вызывается с помощью интерактивного режима, в котором вершина работает неограниченно долго и принимает, что нажатие клавиши переопределяет, как вершина работает.
сообщение А, которое я записал, может быть найдено здесь
Я определенно рекомендую JGroups , что довольно приятно и very активно работал и поддерживает любой тип обнаружения (многоадресная рассылка IP, фиксированный список, служба внешнего поиска и т. д.) через любой транспорт.
Другой вариант - Apache MINA , но JGroups - это IMO лучше для обнаружения (потому что он поддерживает любой тип обнаружения).
Если вы все в одной подсети, простое решение - использовать многоадресные сокеты . Выберите адрес (ну, сделайте его настраиваемым), а затем, когда новый экземпляр запускается, он отправляет многоадресный «пинг». Это уведомляет другие серверы.
Конечно, это не скажет вам, когда экземпляр выходит из строя. У вас есть два варианта:
Самый простой способ - и, на мой взгляд, самый простой - сделать это с помощью ZeroConf!
Каждый узел объявляет о себе и слушает, когда другие появляются и исчезают. Нет центрального реестра, только многоадресный DNS. Работает очень хорошо - просто взгляните на OS X.
Переносимый подход - использовать jmdns - http://jmdns.sourceforge.net/ - способ OS X - использовать фасад Apple Java.
Есть множество вариантов для такого рода вещей, мне больше всего нравится hazelcast , он лицензирован Apache и имеет нулевые зависимости и минимум конфигурации.
A более распространенный вариант - jgroups , лицензированный под LGPL.