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

时间:2017-12-20 16:05:53

标签: node.js ruby daemon

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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