jjzjj

PumpStreamHandler

全部标签

java - 无法使用 Apache Commons Exec 向命令提供多个输入并提取输出

我正在编写一个需要使用ApacheCommonsExec库的外部命令行应用程序的Java应用程序。我需要运行的应用程序的加载时间相当长,因此最好让一个实例保持Activity状态,而不是每次都创建一个新进程。应用程序的工作方式非常简单。一旦启动,它会等待一些新的输入并生成一些数据作为输出,这两者都使用应用程序的标准I/O。因此,我们的想法是执行CommandLine,然后使用具有三个独立流(输出、错误和输入)的PumpStreamHandler,并使用这些流与应用程序交互。到目前为止,我已经在有一个输入、一个输出然后应用程序关闭的基本场景中完成了这项工作。但是当我尝试进行第二笔交易时,

java - 使用 Pump StreamHandler 将输出和错误写入日志文件

我一直在寻找一个很好的例子来将进程输出和错误流写入日志文件。我使用apache-commonsexec库来执行我的进程。按照代码示例进行演示publicstaticintexecuteCommand(CommandLinecommand,Loggerlog)throwsExecuteException,IOException{DefaultExecutorexecutor=newDefaultExecutor();executor.setExitValue(0);PumpStreamHandlerpsh=newPumpStreamHandler();executor.setStream