Iniciar proceso de fondo en tarea capistrano.

tarea capistrano

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

Ahora esto no funciona: el proceso svscanboot simplemente no se ejecuta. Esto me ayudó a encontrarsleep: https://github.com/defunkt/resque/issues/284 otras fuentes me señalaronnohup, redirectionypty => true, así que intenté todo esto.

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

Ahora, ¿podría alguien explicarme por qué necesito la declaración de suspensión y qué diferencia hace nohup? Para el registro, todo lo anterior funciona igual de bien si se ejecuta desde el shell de usuario, el problema solo está en el contexto de capistrano.

Gracias

Respuestas a la pregunta(5)

Su respuesta a la pregunta