わかりました。閉じるたびに接続を適切に閉じるためのシャットダウン フックがあります。私が今しなければならないことは、別のプログラム(端末エミュレーター)を開いてから、端末エミュレーターを開いたままにして私のプログラムを閉じることです。エミュレーターを開くことはできますが、エミュレーターが閉じるまで 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"));