如何sbt
在退出ssh
会话后保持进程,特别是通过命令生成的进程?以下相关问题[1]、[2]、[3]和[4]提供了丰富的信息,但在我的特定案例中并未导致明确的解决方案。简要背景:我有三台服务器代表组成集群的节点,每个节点上运行相同的程序来分配计算密集型任务。此过程旨在始终在机器启动时运行,即每台服务器都专用于该项目。每个节点都有以下内容(当我有机会重新登录时,我将使用正确的信息更新它):
Ubuntu 12.04.2 LTS
JVM X.X.X (is JDK 1.7 update 24+)
Scala X.X.X
sbt X.X.X
我通过我的大学网络访问每个节点ssh
。我已经尝试tmux
分离会话,但只要我自己的笔记本电脑没有重新启动,这只会使该过程持续存在。我采取以下步骤在每个节点上启动程序:
- 通过以下方式登录每个节点
ssh user@host -p port
- 导航到适当的目录并使用
sbt
*启动我的程序 - 在控制台中发出
run
命令sbt
* 实际命令是sbt -Dgeotrellis cluster_seed_ip=xxx.xxx.xxx.xxx
是采取disown
还是nohup
最合适的方法?给定一个或另一个答案,我需要发出什么特定且语法正确的命令(如果使用该方法,则从sbt
控制台disown
发出)以便sbt
进程与我的用户帐户解除关联并在我退出ssh
会话后继续运行?