繁体   English   中英

Java打开外部程序,然后关闭Java程序

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM