2012-07-31 136 views
1

我有一份工作,我创建了一个Ruby脚本,但使用了很多库,因此很难追踪。 当我像在前台工作正常的进程在后台无法正常工作

终端上运行它

红宝石./my_process

它完美的作品。 但是当我启动它作为

红宝石./my_process &

它停留在停止状态下,它不工作按预期。

我曾尝试使用daemonize_spawn gem,Process.daemon或者甚至在具有类似结果的ruby代码中使用fork,但该过程无法正常工作。

任何想法会发生什么?

我使用的Linux和Ruby 1.9

+2

任何错误或输出? – mask8 2012-07-31 14:13:01

+0

你为什么要做'ruby。/ my_process'而不是'ruby my_process'? – Linuxios 2012-07-31 14:16:45

+0

该过程是否使用STDIN,curses,TTY等? – Linuxios 2012-07-31 14:20:30

回答

2

不知道你的应用程序多,我猜它卡上等待STDIN输入。一种快速的方法来验证这将重定向一些文件STDIN您的过程,也许是这样的:

ruby ./my_process < /dev/zero & 
+0

好想法! +1! – Linuxios 2012-07-31 14:19:47

+0

这似乎是问题,谢谢 – user1565940 2012-08-02 08:52:20