好吧,我有一个关闭钩子,确保每当我关闭时我都能很好地关闭我的连接。我现在需要做的是打开另一个程序(终端仿真器)然后关闭我的,同时让终端仿真器保持打开状态。我能够打开模拟器但是java程序在模拟器关闭之前不会关闭。我怎样才能运行并关闭我的程序?
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
@Override
public void run() {
if (connection != null) {
try {
connection.close();
System.out.println("Connection Closed");
try {
ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "C:\\MVbase\\mvterm.lnk");
Process p = pb.start();
System.exit(0);
} catch (IOException e) {
System.out.println(e);
}
} catch (MVException e) {
System.out.println(e.getMessage());
}
}
}
}, "Shutdown-thread"));
答案 0 :(得分:0)
最简单的方法是制作运行程序的shell脚本或批处理文件,然后将其关闭并启动终端模拟器。
#!/bin/sh
cd C:/location/of/program
javac program.java
java program
kill program
cd C:/location/of/terminalemulator
run terminalemulator
将其另存为批处理文件,它应该从命令行执行所有操作。