La respuesta de oleg-andriyanov no funcionó en mi caso (el proceso finalizó poco después del lanzamiento)
En tal caso, pruebe el comando de Mirko Stocker escrito en play ML a continuación para obtener una alternativa. https://groups.google.com/forum/#!topic/play-framework/ZgjrPgib0-8
# screen -d -m sbt run
Esto también debería funcionar
sbt -Djline.terminal=jline.UnsupportedTerminal run &
fuente:https://github.com/sbt/sbt/issues/701
Se parece a sbt
entrada solicitada desde su terminal. Si realmente no necesita entrada (que probablemente sea el caso cuando ejecuta el programa en segundo plano), puede ejecutarlo así:
sbt run </dev/null >output-file &
Vea esta respuesta para más detalles.
EDITAR
Ok, ahora eso fue un rompecabezas. Respuesta corta:ejecuta sbt
de la siguiente manera:
setsid nohup sbt run &
Justificación:
La razón por la que sbt
las paradas son la llegada de SIGTTOU
señal. Se entrega al proceso en segundo plano en varios casos, que incluyen modificación de la configuración del terminal . Este es nuestro caso porque según strace -f sbt run &
, sbt
hace mucha magia negra debajo del capó como este:
[pid 16600] execve("/usr/bin/sh", ["sh", "-c", "stty -g < /dev/tty"], [/* 75 vars */] <unfinished ...>
Para solucionar esto, puede ejecutar sbt
en una sesión diferente para separarlo de la terminal actual, de modo que no abra /dev/tty y se meta con nuestra terminal.