gpt4 book ai didi

java - 如何将命令传递到已经在 java (linux) 中运行的终端

转载 作者:太空宇宙 更新时间:2023-11-04 03:40:58 25 4
gpt4 key购买 nike

我一直在研究如何在java中运行终端命令。我这样做是为了制作一个程序,我可以用它来 ssh 到另一台电脑(就像一个项目)。我怎样才能继续在这个终端中输入命令?如果我运行此命令,我会收到一条消息,要求输入我的密码,如果我这样做,它将打印出终端在以下位置吐出的消息: while((line = in.readLine()) != null){
System.out.println(line + "\n");<br/>
}

行,但几秒钟后我的程序将停止工作。我目前有一个 GUI,它只是一个按钮,如果我按下按钮,它将运行此代码。有人可以帮助我解决它停止的问题,并为我提供有关如何继续将命令输入终端的信息吗?谢谢。

    Process p = null;
String[] command = {"/bin/sh", "-c", "ssh 192.168.2.100"};
ProcessBuilder pb = new ProcessBuilder(command);

String line = null;

try {
term = pb.start();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

InputStream is = p.getInputStream();

BufferedReader in = new BufferedReader(new InputStreamReader(is));

try {
while((line = in.readLine()) != null){
System.out.println(line + "\n");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

try {
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

最佳答案

您无法将参数传递给实时 JVM,但有一种方法可以修改使用 JMX 完成的一些参数。 ,这样您就可以连接到实时 JVM 并发送参数。立即生效。

希望有帮助

关于java - 如何将命令传递到已经在 java (linux) 中运行的终端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29638169/

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