How do I keep a process, specifically one spawned via the sbt command, alive after exiting my ssh session? The following related questions [1], [2], [3
It looks like SBT hanging in the background is a JLine issue. There is a workaround:
sbt -Djline.terminal=jline.UnsupportedTerminal about &
Just add this flag to any SBT command you want to run in the background.
It is not a easy task to put sbt run as a daemon.
Most suggestions are using sbt-assembly.
If you donot want to using sbt-assembly, you may first package you scala application, then run it with scala command.
For me, the commands are, in this way, scala will continue to run after you exit ssh:
sbt clean package
nohup scala ./target/scala-2.10/trafficgenerator_2.10-1.0.jar &
It is even more common. Try to type sbt clean & or sbt compile &. Proccess is created but it won't finish.
Solution for your question by using tmxux:
tmux new -d -s $$ && tmux send -t $$ 'SHELL_COMMAND' ENTER
In your context SHELL_COMMAND = sbt -Dgeotrellis cluster_seed_ip=xxx.xxx.xxx.xxx
You can also use tmux behind byobu:
byobu new -d -s $$ && tmux send -t $$ 'SHELL_COMMAND' ENTER
After that if you type byobu then you enter session of your command.