当前位置: 首页 > 知识库问答 >
问题:

使用FIFO作为进程的stdin

韩单弓
2023-03-14

如何使用fifo重定向进程的stdin?

使用system d,我正在启动一个不经常需要通过stdin发送命令的服务。为了克服这个问题,我尝试了以下方法:

mkfifo -m 600 cmdline
/usr/bin/cat cmdline | /opt/jdk-18/bin/java ...

我可以使用以下命令运行命令。

echo -e "this_is_a_command\n" > cmdline

我遇到的问题是,这似乎只适用于一个命令。在运行这个命令一次之后,所有其他写入fifo的调用似乎都被挂起,服务器再也不会处理其他任何事情。

如何使用fifo将输入重定向到守护进程的stdin?

共有1个答案

穆英飙
2023-03-14

你能试试吗

tail -f cmdline | /opt/jdk-18/bin/java ...
 类似资料:
  • 本文向大家介绍Linux 进程通信之FIFO的实现,包括了Linux 进程通信之FIFO的实现的使用技巧和注意事项,需要的朋友参考一下 FIFO通信(first in first out) FIFO 有名管道,实现无血缘关系进程通信。 创建一个管道的伪文件 a.mkfifo testfifo 命令创建 b.也可以使用函数int mkfifo(const char *pathname, mode_t

  • 我们目前有一个接收大量传感器数据的应用程序。每个传感器都有其独特的传感器id('5834F7718273F92CC326F620')并以不同的间隔发出其状态。传入消息的处理顺序并不重要,例如,一个传感器的较新消息可以在另一个传感器的较旧消息之前处理。然而,重要的是,给定传感器的每个消息必须按顺序处理;按照他们到达溪流的顺序。 我查看了Kinesis客户端库,了解到KCL将消息按每个碎片推送到单个处

  • 我有一个web服务器(比如tomcat),它为http请求服务 每个请求处理都可能生成一些跟踪信息。 我将把这些跟踪信息写入编年史队列(以字节[]为单位,我将自己进行编组/解编组,就像使用protobuf一样) 我将有一个专用的线程来使用裁剪器从编年史队列中读取。每个消息将只处理一次,如果失败,我将使用自己的重试策略将其放回队列以允许下次尝试。 基于以上用例,我有以下问题: > 应该使用多少追加器

  • 我有一个用例,我必须以FIFO方式处理事件。这些是从机器生成的事件。每台机器每30秒生成一个事件。对于特定的机器,我们需要根据FIFO FASION对事件进行处理。 我们每天需要处理大约2.4亿个事件。对于如此大的规模,我们需要使用Kafka+火花流 从Kafka文档中,我了解到我们可以使用消息的关键字段将消息路由到特定的主题分区。这确保我可以使用机器id作为密钥,并确保来自特定机器的所有消息都进

  • “C:\程序文件\SimpleNode\nssm.exe”安装SimpleNode“C:\程序文件\SimpleNode\node.exe”C:\程序文件\SimpleNode\simple.js“ 服务已安装。当我启动它时,我得到一条错误消息,服务处于暂停状态,我在事件查看器中看到以下错误: GetProcessTimes()失败:句柄无效。

  • 问题内容: 我正在尝试直接通过Windows上的CMD(Linux上的终端)运行命令。我有以下代码。它的行为很奇怪。首先,运行程序时不打印任何内容。其次,在调试和逐步执行时,程序将打印默认的CMD文本和输入行。最后,我似乎无法写入CMD,因此它将执行命令。这是我的代码。我猜这可能是线程问题,但我对运行时不熟悉。 我的输出在调试和逐步调试时运行(运行时不显示任何输出) 问题答案: 可能发生了几件事。