如何解决后台/守护进程
| 我有一个按以下方式编码的脚本。我想将其作为后台/守护进程运行,但是一旦启动脚本,如果关闭了从程序运行的终端窗口,它将终止。我需要怎么做才能保持程序运行loop do
pid = fork do
..........
..........
..........
end
Process.detach(pid)
end
解决方法
上面的所有答案都未能真正表明这样做的难度:
# Daemonize the process and stay in the current directory
Process.daemon(true)
loop do
pid = Process.fork do
# Do something funky
end
Process.waitpid(pid)
# Reduce CPU usage
sleep(0.1)
end
,在以下stackoverflow问题中已详细解答:在Ruby中使用双叉创建守护程序
否则,有一些宝石可以帮助您从代码中抽象出来,特别是您可以看看Raad(Ruby作为守护程序)https://github.com/colinsurprenant/raad,它也可以与JRuby代码(我是Raad的作者)。
,哥们
nohup-运行不受挂断影响的命令,并输出到非tty
$ nohup命令>输出&
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。