停止分离的strongloop应用程序

Ran*_*sid 4 strongloop loopbackjs

我在我的服务器(ubuntu)上安装了loopback,然后创建了一个应用程序并使用命令slc run来运行......一切都按预期工作.现在我有一个问题,也是我面临的一个问题:

问题:我需要使用slc run命令,但在关闭终端后也要保持应用程序"活着".为此,我使用了--detach选项并且它可以工作,我想知道--detach选项是最佳实践还是我需要以不同的方式进行.

问题:在我使用--detach之后,我真的不知道如何阻止它.是否有一个命令可以用来阻止进程运行?

Rya*_*ham 7

要停止--detached进程,请转到运行它的同一目录并执行slc runctl stop.有许多runctl命令,但stop可能是您最感兴趣的命令.

最佳实践是一个更长的答案.简短的版本是:不要使用--detach 永远,并使用init脚本来运行您的应用程序并使其保持运行(可能是Upstart,因为您使用的是Ubuntu).

运用 slc run

如果您想slc run以Upstart作业运行,可以安装strong-service-install npm install -g strong-service-install.这将为您提供sl-svc-install一个用于创建Upstart和systemd服务的实用程序.

您将最终运行类似sudo sl-svc-install --name my-app --user youruser --cwd /path/to/app/root -- slc run .应创建一个名为Upstart的工作my-app,该工作将从应用程序的根目录运行您的应用程序作为您的uid.您的应用程序的stdout/stderr将被发送到/var/log/upstart/my-app.log.如果您使用的是早于12.04的Ubuntu版本,则需要指定--upstart 0.6并且您的日志将最终转到syslog.

运用 slc pm

另一种可能更容易的方法是使用slc pm,它在上面的级别运行,slc run并且恰好更容易安装为OS服务.对于这条路线,您已经安装了所有东西.运行sudo slc pm-installstrong-pm安装Upstart服务以及strong-pm用户运行它与/ var/lib/strong-pm的$ HOME一样.

如果PM方法稍微复杂一点,那就是必须将应用程序部署到它.最有可能的只是转到你的应用程序root并运行slc deploy http://localhost:8701/,但细节将取决于你的应用程序.您可以为应用配置环境变量,部署新版本,日志将显示在/var/log/upstart/strong-pm.log中.

一般最佳实践

对于上述任一选项,我建议不要npm install -g strongloop在您的服务器上执行,因为它包括yeoman生成器和其他工具,这些工具在工作站上比服务器更有用.

如果你想要去的slc run路线,你会做npm install -g strong-supervisor strong-service-install,并取代你slc runsl-run.

如果你想要去的slc pm路线,你会做npm install -g strong-pm和替换slc pm-installsl-pm-install.

放弃

我在StrongLoop工作,主要从事这些工具.