[英]Java Open external program then close java program
好了,我有一个关闭钩子,可以确保每次关闭时都能很好地关闭连接。 我现在需要做的是打开另一个程序(终端仿真器),然后关闭我的,同时保持终端仿真器打开。 我可以打开模拟器,但是直到模拟器关闭,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"));
最简单的方法是制作一个运行程序的shell脚本或批处理文件,然后将其关闭并启动终端仿真器。
#!/bin/sh
cd C:/location/of/program
javac program.java
java program
kill program
cd C:/location/of/terminalemulator
run terminalemulator
将其另存为批处理文件,它应该从命令行完成所有操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.