Runtime.exec()を使用して新しいプロセスを開始しようとしていますが、問題がリモートからsshを使用してJavaプログラムを実行しています。コード:Java Runtime.exec()Linuxでsshを使用する場合
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は、すべてのsshとsftpでうまく動作します。 – Gray
私はもっと同意できませんでした。 'Runtime.exec()'を避けてください。特に純粋なJavaライブラリがあれば避けてください。 –
+1今までjschについて知りませんでした –