Я хочу запустить jar в качестве фонового процесса на удаленной машине через соединение s sh. На удаленном компьютере есть сценарий bash для выполнения jar
#!/bin/sh
export JAVA_HOME=/location/of/java/
export PATH=$JAVA_HOME/bin:$PATH
nohup java -jar jar_name.jar config.properties &
Если я выполняю вышеуказанный сценарий непосредственно с удаленного компьютера (sudo ./start_script.sh
), jar запускается как фоновый процесс, и стандартный вывод направляется на nohup.out
в той же папке, что и jar. Но когда я запускаю скрипт с локальной машины: ssh vm_name 'sudo ./start_script.sh'
, процесс запускается. но он блокируется, и вывод направляется на локальный терминал.
есть ли способ добиться этого?
РЕДАКТИРОВАТЬ: мне нужно запустить скрипт как root, а также передать параметры в скрипт, добавил путь-заполнитель для JAVA_HOME, чтобы избежать путаницы