2013-07-29 2 views
0

У меня возникла проблема с остановкой исполняемого файла войны в фоновом режиме в качестве службы в системе Linux. Я могу начать исполняемую войну со следующим сценарием:Как программно остановить исполняемую войну

java -jar data.war& 

но как остановить его программно через Jenkins с помощью SSH плагин?

ответ

0

Для тех, кто нуждается в ответе.

PROCESSID=`(ps aux | grep data| grep -v root | awk '{print $2}')` 
kill -9 $PROCESSID 

Приведенный выше код убивает приложение с именем «данные» в списке процессов

+0

Обратите внимание, что «kill -9» эквивалентно немедленному вызову 'System.exit()'. JVM не имеет возможности справиться с ситуацией. –

+0

Я уверен, что даже JVM имеет метод обработки выхода даже на системном уровне, заложенном под API пакета sun, как я где-то читал –

+0

№ -9 означает _now_! –

0

Я бы, вероятно, начал с использования механизма порта STOP. См. Эту документацию для примера.

http://www.eclipse.org/jetty/documentation/current/quickstart-running-jetty.html#quickstart-stopping-jetty

+0

не работает для моего случая, то команда переходит для запуска сервера и не потому, что дублированный порт сервера. –

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