запуск фонового процесса в задаче capistrano

задача капистрано

namespace :service do
  desc "start daemontools (svscan/supervise/svscanboot)"
  task :start, :roles => :app do
    sudo "svscanboot&"
  end
end

Теперь это не работает: процесс svscanboot просто не запускается. Это помогло мне найтиsleep: https://github.com/defunkt/resque/issues/284 другие источники указали мне наnohup, redirection, а такжеpty => trueВот и я попробовал все это.

run "nohup svscanboot >/tmp/svscanboot.log 2>&1 &"   # NO
run "(svscanboot&) && sleep 1"                       # NO
run "(nohup svscanboot&) && sleep 1"                 # YES!

Теперь, может кто-нибудь объяснить мне, почему мне нужно утверждение сна и какую разницу делает nohup? Для записи все вышеперечисленное работает одинаково хорошо, если запускается из пользовательской оболочки, проблема только в контексте capistrano.

Спасибо

Ответы на вопрос(5)

Ваш ответ на вопрос