2015-12-03 2 views
0

У меня есть приложение, которое развертывается в среде Linux и работает одновременно с двумя JVM. Один из них - производитель, а один - потребитель.Написание сценария bash для перезапуска JVM

У меня есть разные цели, написанные в моем скрипте муравья для остановки и запуска двух JVM.

Есть моменты, когда вы перезапускаете производителя или потребителя, один из JVM не может остановиться, поэтому нам нужно будет вручную найти идентификатор процесса для этого конкретного порта и убить этот процесс, а затем запустить приложение.

Как я могу автоматизировать это и написать один скрипт для всего. Этот скрипт должен иметь возможность вызывать цели муравьев для остановки JVM, убивать процесс, если какие-либо JVM не останавливаются и, наконец, запускают два JVM.

Первый и последний в порядке. Но как писать такие вещи, как поиск идентификатора процесса в порту, а затем выполнение kill -9.

Я разработчик Java, поэтому не знаю много об этом.

+1

Создать сценарий bash? – ceejayoz

+0

Да сценарий bash и был ли вы @ceejayoz, кто проголосовал? –

ответ

1

Если JVMs общаются на сокете затем попробовать что-то вроде

lsof | grep ":$port " | awk '{print $2}' 

где $ порт номер порта. Это ищет список открытых файловых дескрипторов для любого соответствия требуемому номеру порта и выплескивает идентификатор процесса.

Смежные вопросы