我正在使用guard来监视目录,只要文件上传到目录Guard就会触发rake进程。
有没有办法将Guard作为守护进程运行,无法在文档中的任何位置找到。
答案 0 :(得分:4)
Guard没有内置选项作为守护程序运行,但您可以使用nohup和ampersand在后台运行它:
nohup guard &
在后台运行不应该向控制台打印任何东西,所以我会重定向流:
nohup guard >/dev/null 2>&1 &
在这种情况下,我建议停用代理,并在Guardfile
中使用文件记录:
interactor :off
logger device: 'guard.log'
答案 1 :(得分:2)
如果我正确理解您的问题,即将守卫视为守护进程,您可以daemon
向guard
提供guard 'rails', daemon: true do
watch(...)
...
end
选项:
{{1}}
参考其他guard options。
答案 2 :(得分:0)
您应该查看文档to start guard programmatically on Rails;)
简而言之,为Guard创建一个包含以下内容的初始值设定项:
require 'guard'
require 'guard/commander' # needed because of https://github.com/guard/guard/issues/793
# Start Guard only with rails.
if File.basename($0, '.*') == 'rails'
fork do
if __FILE__ == '(irb)'
end
Guard.guards 'sass'
Guard.start :no_interactions => true
end
end