我想在后台运行一个简单的脚本。它需要在机器的整个生命周期内保持活跃。
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 权限。
无法弄清楚问题是什么。我猜厨师在不同的外壳中执行此操作,并在退出该外壳后摆脱所有进程?
有没有更好的方法来简单地在后台运行脚本?