程序结束后来自Runtime.getRuntime()。exec的控制台?

时间:2012-04-12 09:28:15

标签: java unix ubuntu runtime.exec

我正在为我的litte程序构建一个重启器。

基本思路是使用Runtime.getRuntime().exec运行一个流程,该流程会对程序本身进行处理,然后运行System.exit(0);

这是重启的代码:

Runtime.getRuntime().addShutdownHook(new Thread() {
    @Override
    public void run() {
        try {
            Runtime.getRuntime().exec(strList);  
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
});

// exit
System.exit(0);

其中strListString[],类似于:

  {"/bin/bash","-c","java -jar path/to.jar"}

不要担心操作系统的可移植性,程序将只在Ubuntu上运行。

程序重启正常,或者至少有一个新进程正在运行(并在一段时间后继续重启)

问题是重启后我松开了控制台,所以我不知道程序实际发生了什么。

有没有办法在“同一个窗口”中启动新流程或以任何方式访问它(可能是通过使用屏幕?)?

0 个答案:

没有答案