#java #knime
#java #knime
Вопрос:
Я выполняю рабочий процесс KNIME в пакетном режиме с Java.
Вывод, похоже, указывает на успех, но процесс никогда не возвращается (я должен использовать параметр тайм-аута, чтобы его отключить).
Вопрос: У кого-нибудь есть идея, почему процесс никогда не возвращается?
Executing [C:Program FilesKNIMEKNIME.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 программно, поэтому я уверен, что все потоки ввода / вывода / ошибок обрабатываются правильно (также я использую этот код для вызова многих других исполняемых файлов).
Комментарии:
1. Может быть, без
-noexit
параметра?2. Да, большое вам спасибо за то, что заметили это! Пожалуйста, преобразуйте в ответ.
Ответ №1:
Это вызвано -noexit
параметром (он полезен в Windows при запуске вручную), поскольку он предотвращает закрытие процесса после завершения выполнения.
Ответ №2:
Windows требует -consoleLog -noexit
, чтобы окно DOS оставалось открытым, чтобы видеть вывод на консоль. После того, как вы протестировали пакетный запуск Knime, вы можете удалить -consoleLog -noexit
параметры, чтобы он не зависал в ожидании выхода пользователя из процесса.
Чтобы увидеть дополнительные параметры, вы можете запустить следующее в окне DOS. knime.exe -consoleLog -noexit -nosplash -application org.knime.product.KNIME_BATCH_APPLICATION