1

我有一份工作,我创建了一个 Ruby 脚本,但使用了很多库,因此很难追踪。当我在终端中运行它时

红宝石 ./my_process

它完美地工作。但是当我启动它时

红宝石 ./my_process &

它保持停止状态,并且无法按预期工作。

我曾尝试使用 daemonize_spawn gem、Process.daemon 甚至在 ruby​​ 代码中使用 fork,结果相似,但该过程无法正常工作。

知道会发生什么吗?

我正在使用 linux 和 ruby​​ 1.9

4

1 回答 1

2

在对您的应用程序了解不多的情况下,我猜它在等待 STDIN 上的输入时被卡住了。验证这一点的一种快速方法是将某些文件重定向到进程的 STDIN,可能像这样:

ruby ./my_process < /dev/zero &
于 2012-07-31T14:17:22.887 回答