バックグラウンドで簡単なスクリプトを実行したい。マシンの全寿命の間、それは生きている必要があります。
script "my_script" do
interpreter "ruby"
cwd "/home/my_home"
user "root"
code << -EOH
pid = fork
if pid
Process.detach(pid)
system("ruby the_actual_script.rb > logfile")
end
EOH
しかし、これは実行されていないようです。実行されてすぐに終了したようです。サイズが 0 のログファイルがあります。cwd フォルダーのアクセス許可を 777 に設定しています。
問題が何であるかを理解できません。シェフがこれを別のシェルで実行し、そのシェルを終了するとすべてのプロセスを削除すると思いますか?
バックグラウンドでスクリプトを単純に実行するより良い方法はありますか?