Ruby on rails Ruby-如何控制外部进程和监视web应用程序的输出?

Ruby on rails Ruby-如何控制外部进程和监视web应用程序的输出?,ruby-on-rails,ruby,process,monitor,god,Ruby On Rails,Ruby,Process,Monitor,God,我有一个web应用程序,它需要能够与已经运行的外部进程进行交互 我需要能够捕获标准输出并将其重定向到浏览器(例如,供用户监控)。我还希望能够停止/重新启动流程 我曾考虑使用God来监控这个过程,但没有看到任何方法可以读取rails应用程序的输出 Ruby 1.9.2+Rails3.1 谢谢我将启动该过程并将其输出捕获到某个文件中 pid = Process.spawn("cat /dev/random > process.log") 然后您可以读取此文件并以任何方式显示它 IO.read

我有一个web应用程序,它需要能够与已经运行的外部进程进行交互

我需要能够捕获标准输出并将其重定向到浏览器(例如,供用户监控)。我还希望能够停止/重新启动流程

我曾考虑使用God来监控这个过程,但没有看到任何方法可以读取rails应用程序的输出

Ruby 1.9.2+Rails3.1


谢谢

我将启动该过程并将其输出捕获到某个文件中

pid = Process.spawn("cat /dev/random > process.log")
然后您可以读取此文件并以任何方式显示它

IO.read('process.log')
如果你想终止这个过程,就使用

Process.kill(9, pid)
正如您所见,您需要将pid存储在某个位置


我不知道如何处理外部过程。当在外部生成进程时,您可能希望将pid存储在同一位置。

将此逻辑封装在一些对象中也是一种很好的做法,如
MonitoredProcess
感谢您的回复。该进程已经在运行(当用户点击web应用程序时),并且将持续运行,因此我不希望将输出写入文本文件。我想知道是否有任何方法仅在需要时捕获输出,其他时候重定向到/dev/null。如果您担心磁盘空间,可以通过cron任务清理此文件。我不认为您可以为已经运行的进程动态更改输出。