我使用simple.rb
启动脚本ruby simple.rb > log.txt &
。我希望它无限运行。它会运行一段时间,但pidof ruby
不会返回任何内容。脚本停止运行,日志文件中没有错误代码或退出消息。发生了什么?红宝石循环最终结束了吗?我可以从bash无限循环结束时重新启动ruby脚本,但我很好奇为什么这个脚本结束,以及如何找出它是否没有发出退出代码/ msg。< / p>
def main_loop
puts "Doing stuff.."
end
while true
main_loop
sleep 5.seconds
end
答案 0 :(得分:1)
#seconds
是不必要的,可能会弄乱你的代码,因为#sleep
取一个数字(浮点数或整数,我相信)。见http://apidock.com/ruby/Kernel/sleep。
$stdout.sync = true
def main_loop
puts "Doing stuff.."
end
while true
main_loop
sleep 5
end