Tag:

等待Ruby子pid退出

我正在尝试分叉一个子进程,等待它完成,如果它在一定时间内没有完成,就把它杀掉。 这是我到目前为止: servers.each do |server| pid = fork do puts “Forking #{server}.” output = “doing stuff here” puts output end Process.wait puts “#{server} child exited, pid = #{pid}” end 在Process.wait之后的某个地方,我希望某种实用程序等待20秒,如果进程仍在那里,我想杀死它并将输出标记为“ERROR”。 我是fork / exec的新手。 我的代码实际上是forking工作,但我只是不知道如何处理它的等待/查杀方面。

Ruby守护进程和JRuby – 替代选项

我有一个应用程序,我从Ruby迁移到JRuby(由于需要通过Java提供更好的Web服务安全支持)。 我使用的一个gem是用于创建后台作业的守护进程 。 问题是它使用fork + exec来创建后台进程,但这对JRuby来说是禁忌。 那么 – 是否有用于创建后台作业的替代gem / wrapper? 我目前的想法是从shell脚本调用rake并让rake任务永远运行… 谢谢,克里斯。 更新我们目前正在使用几个与Java线程相关的包装器,即https://github.com/jmettraux/rufus-scheduler和https://github.com/philostler/acts_as_executor