0

我有一个由第三方开发者提供的 JAVA-Jar-File。文件从 STDIN 读取并写入 STDOUT。

我能够将 JAR 文件配置为写入日志文件。

但我还必须将输入源从 STDIN 重写为命名管道,这样我就可以通过自己的应用程序向 java-pocess 发送命令。

我已经尝试过从管道(bash)中读取这两件事:

cat < pipeline_name | java -jar external_application.jar

这适用于第一个命令。收到第一行输入后,“猫”终止,之后我无法发送命令。

我的另一个尝试:

tail -f pipeline_name | java -jar external_application.jar

这工作正常。所有命令都传递给 JAVA 应用程序。但是:如果 java-application 正在终止,tail -f 将像以前一样运行。

我需要一个解决方案,如果 JAVA 进程终止,则停止从管道读取。

非常感谢

4

1 回答 1

1

使用bash 重定向这是一个备忘单

java -jar external_application.jar < pipeline_name

< 表示 java 进程将从 pipeline_name 读取它的标准输入

于 2013-01-18T09:17:59.693 回答