LoginSignup
0
4

More than 5 years have passed since last update.

プロセスの自動再起動を超お手軽に

Last updated at Posted at 2016-12-09

長いスクリプトをずっと回していたい時がある。例えば以下のように、ずっと起動しっぱなしにしたいスクリプト。

script.rb
while true do
  # ここで何か処理
  sleep(10) # 10秒おきに
end

ただ、rubyが何かの例外でとまっちゃうと処理が終わっちゃう。プロセスIDを監視して再起動って手も有るけど、大げさ。

そこで、処理が中断したら、もう一回起動するように、シェルスクリプトで覆ってあげればいい。

loop.sh
#!/bin/sh
while :
do
  ruby script.rb
  # ここで落ちちゃったよ!ってメールを送る
  sleep 1s
done
0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4