ruby在结束执行后自动重启脚本

时间:2016-11-02 09:32:30

标签: ruby

我有一个ruby脚本可以长时间执行某些操作,并且无法预测完成所需的时间。但我希望脚本执行在完成执行后自动重启。有没有可能让它在Ruby 1.8.7中运行?

1 个答案:

答案 0 :(得分:2)

我的服务器上运行了一个ruby守护程序,出于某些神秘的原因,它有时会崩溃。我把它包装成while true循环并打印一些时间戳到stdout,就像那样:

#!/bin/bash
while true; do
    echo $(date +%Y%m%d%H%M%S) "Starting my custom ruby daemon..."
    ruby /home/user/my/custom/ruby/daemon.rb
    echo $(date +%Y%m%d%H%M%S) "My custom ruby daemon crashed. Respawning in 10 sec..."
    sleep 10
done

效果很好。强烈建议你睡一觉,如果出现问题,循环不会炸掉你的外壳。