为了账号安全,请及时绑定邮箱和手机立即绑定

我以为是当执行这个命令后系统会自动执行?

我以为是当执行这个命令后系统会自动执行?

慕的地8271018 2023-04-08 18:18:12
process = Runtime.getRuntime().exec("cmd /c C:\\Users\\yutaoaijingjing\\AppData\\Roaming/Xdf/updates\\1.exe"); System.exit(0); 这个1.exe时间很长,然后我以为是当执行这个命令后系统会自动执行,然后关闭虚拟机就可以了,但是发现 这个System.exit竟然没有执行到,他要等process !!!我现在想要的是,我执行一个文件,当开始执行后,立马关闭虚拟机,且这个文件继续执行
查看完整描述

2 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

很有意思的问题,试了很多方法都没达到要求。 
现在能想到的最好方法是

Thread hook = new Thread() {  

    public void run() {  

        try {  

            Runtime.getRuntime().exec("cmd /C D:/1.exe");  

        } catch (IOException e) {  

            e.printStackTrace();  

        }  

    }  

};  

Runtime.getRuntime().addShutdownHook(hook);  

Thread shutdown=new Thread(){  

    Object waiter=new Object();  

    public void run(){  

        synchronized(waiter){  

            try {  

                waiter.wait(1000);  

            } catch (InterruptedException e) {  

            }  

        }  

        Runtime.getRuntime().halt(0);  

    }  

};  

Runtime.getRuntime().addShutdownHook(shutdown);  

  

System.exit(0);  


查看完整回答
反对 回复 2023-04-12
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

这肯定咯,你启动的exe文件和你的项目程序是不同进程,互相管不到的

查看完整回答
反对 回复 2023-04-12
  • 2 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信