Ваше приложение уничтожается, прежде чем оно даже сможет создать файл журнала. Вероятно, это будет работать, если вы удалите последний амперсанд из вашей команды:
ssh userB@<ipB> "java -jar myApplication.jar > /dev/null 2>&1"
При наличии амперсанда команда помещается на задний план. Поскольку оболочка, созданная процессом ssh, не имеет приоритетных заданий, она немедленно закрывает соединение. Когда соединение закрыто, машина B уничтожает все дочерние процессы команды, включая приложение Java.
Вы также можете использовать nohup
для отсоединения процесса Java, чтобы он не был убит при закрытии соединения ssh
. Это дает дополнительное преимущество: приложение будет продолжать работать, даже если ваше соединение прервано:
ssh userB@<ipB> "nohup java -jar myApplication.jar > /dev/null 2>&1 < /dev/null &"
Вам также может быть полезно проверить screen
и tmux
.