是否可以使用ruby附加到正在运行的后台进程?

问题描述 投票:1回答:1

我在我的服务器上运行了一个nodejs守护进程,我想给他一些关于stdin的输入并从Rails控制器读取它stdout,是否可以使用Ruby?

我在看Open3,但它似乎只给我一个产生新过程的机会。

我需要保持nodejs进程运行,因为起始开销太高而无法在每次请求时调用。

node.js ruby daemon
1个回答
0
投票

通常,除非最初设置为初始化,否则无法连接到正在运行的进程的IO流。例如,如果将进程设置为从pipe读取,就很容易:只需让Ruby像任何其他文件一样写入该管道(这就是Open3 lib所做的)。

对于守护进程,通常有更多正确的方法来与之交互,而不是使用管道劫持其输入,但这取决于您正在运行的特定守护进程以及操作系统如何管理它。例如,sockets是一种流行的方式,可以在* nix系统上与正在运行的进程进行通信。

© www.soinside.com 2019 - 2024. All rights reserved.