gpt4 book ai didi

在 Linux 问题上使用 ssh 的 Java Runtime.exec()

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:01:02 25 4
gpt4 key购买 nike

我正在尝试使用 Runtime.exec() 启动一个新进程,但我的问题在于使用 ssh 进行远程访问,然后在那里运行一个 java 程序。代码:

test = "ssh -t username@host java packageName.ClassName portNumber (Other command line args for this class)"
Process proc = Runtime.getRuntime().exec(new String[] {"/bin/bash", "-c", test});

这不会失败或捕获,但我需要能够看到新运行进程的标准输出,但我没有。

注意:如果我从命令行运行 ssh -t username@host java packageName.ClassName portNumber (Other command line args for this class) 它工作正常。我使用 ssh key 将主机设置为不需要密码。

有什么想法吗?

最佳答案

您需要使用 Process.getInputStream从正在创建的子流程中获取输出。

参见 this article有关 Runtime.exec 的精彩讨论。

关于在 Linux 问题上使用 ssh 的 Java Runtime.exec(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10321813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com