Java Apache Commons Exec Watchdog和Windows cmd.exe问题

时间:2016-02-24 12:13:49

标签: java windows watchdog apache-commons-exec

我正在尝试为我的程序使用监视程序,但如果我使用cmd.exe启动它,则它不起作用。如果进程是本机启动的(没有cmd.exe),Watchdog会终止进程,但如果使用cmd.exe启动该程序则不会执行任何操作。

工作代码示例:

        CommandLine cmd1 = CommandLine.parse("mysql");

        ExecuteWatchdog watchdog = new ExecuteWatchdog(3 * 1000); // wait for 3 sec

        Executor executor = new DefaultExecutor();

        executor.setWatchdog(watchdog);


        try {

            executor.execute(cmd1);

        } catch (IOException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } 

        System.out.println("DONE!");

将命令更改为此命令将永久阻止该线程(' mysql'等待用户输入):

CommandLine cmd1 = CommandLine.parse("cmd /C start /wait cmd.exe /C 'mysql'");

你有什么想法,如何解决这个问题? ' mysql'命令应该在新的cmd.exe窗口中运行。

0 个答案:

没有答案