我正在使用Java在batch mode中执行KNIME工作流程。
输出似乎表示成功,但进程永远不会返回(我必须使用超时参数来终止它)。
问题:有没有人知道为什么这个过程永远不会回来?
Executing [C:\Program Files\KNIME\KNIME.exe, -noexit, -nosplash, -nosave, -reset, -application, org.knime.product.KNIME_BATCH_APPLICATION, -workflowFile="C:\...\workflow.knwf", -workflow.variable=template.sdf,C:\...\template.sdf,String, --launcher.suppressErrors] [main] at AntBuildLogger.messageLogged()
KNIME.exe stdout: CompilerOracle: exclude javax/swing/text/GlyphView.getBreakSpot [Thread-2] at AntBuildLogger.messageLogged()
KNIME.exe stdout: INFO main BatchExecutor ===== Executing workflow C:\...\workflow.knwf ===== [Thread-2] at AntBuildLogger.messageLogged()
...
KNIME.exe stdout: INFO main BatchExecutor Workflow execution done Finished in 3 secs (3937ms) [Thread-2] at AntBuildLogger.messageLogged()
KNIME.exe stdout: INFO main BatchExecutor ============= Workflow executed sucessfully =============== [Thread-2] at AntBuildLogger.messageLogged()
我正在使用Windows 10和KNIME 3.2.1。
我正在以编程方式使用Ant Exec任务,因此我非常确信所有in / out / err streams are handled correctly(我也使用该代码来调用许多其他可执行文件)。
答案 0 :(得分:2)
它由-noexit
参数引起(在手动启动时在Windows上很有用),因为它可以防止在完成执行后关闭进程。
答案 1 :(得分:0)
Windows要求-consoleLog -noexit
保持DOS窗口打开以查看控制台输出。测试Knime批处理运行后,您可以删除-consoleLog -noexit
参数,以便在等待用户退出过程时它不会挂起。
要查看其他选项,可以在DOS窗口中运行以下命令。
knime.exe -consoleLog -noexit -nosplash -application org.knime.product.KNIME_BATCH_APPLICATION