【问题标题】:How to keep sbt running (as a daemon process) after executing a command执行命令后如何保持 sbt 运行(作为守护进程)
【发布时间】:2015-09-12 21:42:02
【问题描述】:

我想从 sbt 启动 scalatra 服务器。我怎么做?以下确实启动了scalatra:

sbt "container:start"

但它立即退出:

[info] starting server ...
[success] Total time: 2 s, completed Sep 12, 2015 2:39:32 PM
> [info] waiting for server to shut down...

最好是整个过程作为守护进程在 nohup 中运行。

【问题讨论】:

    标签: sbt scalatra


    【解决方案1】:
    sbt "; <command>; console"
    

    成功了。注意开头的分号必需的。

    【讨论】:

      【解决方案2】:

      不要在一行上做。使用两个命令。

      ./sbt
      container:start
      

      【讨论】:

      • 嗨,阿凡提。您的建议是否将 sbt 作为守护进程启动?
      • 如果你想将 scalatra 应用程序作为守护进程启动,你应该使用 Jetty 或其他 Web 服务器。 sbt 是一个构建工具。它将在前台打开一个新的命令进程,当它在那里时,您可以运行诸如container:start 之类的命令,它会启动您的 scalatra 应用程序并使其保持运行。但是,这不是在本地开发环境之外的任何地方启动 scalatra 应用程序的合适方式。
      • 您说“我想从 sbt 启动 scalatra 服务器 [并保持运行]”。你就是这样做的。如果您想了解有关在 sbt 之外运行 scalatra 应用程序的更多信息,请提出该问题,我会写下答案。
      • 感谢阿凡提。我更新了问题。我也已经说过“最好整个事情在 nohup 中作为守护进程运行。”如果 sbt 确实不允许作为守护进程运行,那么我可以奖励您的问题。我会进一步研究。
      • 这是一种守护 sbt 进程的方法:*.com/questions/6000362/running-sbt-as-daemon?lq=1
      最近更新 更多