Я пытаюсь запустить новый процесс с использованием Runtime.exec(), но моя проблема заключается в использовании ssh для удаленного доступа, а затем запустить там java-программу. Код:Java Runtime.exec() с ssh в Linux-проблемах
test = "ssh -t [email protected] java packageName.ClassName portNumber (Other command line args for this class)"
Process proc = Runtime.getRuntime().exec(new String[] {"/bin/bash", "-c", test});
это не выходят из строя или поймать, но мне нужно, чтобы иметь возможность увидеть стандартный вывод процесса вновь запущен, и я этого не делают.
Примечание: если я запустил ssh -t [email protected] java packageName.ClassName portNumber (Other command line args for this class)
из командной строки, он отлично работает. У меня есть настройка хоста, чтобы не требовать пароль с помощью ssh-ключей.
Любые идеи?
+1 Jsch works _really_ хорошо для всех вещей ssh и sftp. – Gray
Я больше не мог согласиться. Избегайте 'Runtime.exec()' любой ценой, особенно если доступна чистая библиотека Java. –
+1 Я никогда не знал о jsch до сих пор –