0

我有一个需要能够与已经运行的外部进程交互的网络应用程序。

我需要能够捕获 STDOUT 并将其重定向到浏览器(例如,供用户监控)。我也希望能够停止/重新启动该过程。

我正在考虑使用上帝来监控这个过程,但没有看到任何方法来读取 rails 应用程序的输出。

Ruby 1.9.2 + Rails3.1

谢谢

4

1 回答 1

1

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

pid = Process.spawn("cat /dev/random > process.log")

然后你可以阅读这个文件并以任何你喜欢的方式显示它

IO.read('process.log')

如果你想终止进程,只需使用

Process.kill(9, pid)

如您所见,您需要将 pid 存储在某个地方。

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

于 2011-11-07T15:10:14.870 回答