В настоящее время я разрабатываю простой сценарий развертывания для vms, работающего с ubuntu. Все эти машины должны запускать приложение java, предоставляемое как банку.Запустить java-приложение в качестве фонового процесса через ssh
Это соответствующая часть сценария установки Java, копирование баночки с локальной машины на удаленную машину, а затем запуск приложения:
ssh [email protected]$line -i ~/.ssh/key.pem -o StrictHostKeyChecking=no <java_installation.sh
scp -i ~/.ssh/key.pem $JARFILE [email protected]$line:~/storagenode.jar
ssh [email protected]$line -i ~/.ssh/key.pem <java_start_jar.sh
установки с помощью скрипта java_installation.sh преуспевает, команда УПП делает также. Проблема возникает при попытке выполнить команды в java_start_jar.sh через ssh. java_start_jar.sh:
#!/bin/sh
# this script starts a jar file and creates a shellscript which can be used to stop the execution.
nohup java -jar ~/storagenode.jar & > ~/storagenode.log
pId=$!
echo "kill $pId" > ~/stop_storagenode.sh
chmod u+x ~/stop_storagenode.sh
Сценарии начинает выполнение .jar файла, а затем просто блокирует. Ssh не возвращается, остальная часть локального кода выполняется только после закрытия вручную соединения. Любые идеи, почему приложение java не работает нормально как фоновый процесс?
Вау, просто, спасибо! Я новичок в Shellscripts, поэтому извините меня;) – JaEb
без проблем, рад помочь :) –