要停止--detached 进程,请转到运行它的同一目录并执行slc runctl stop。 runctl 命令有很多,但stop 可能是您最感兴趣的一个。
最佳做法是一个更长的答案。简短的版本是:不要使用--detach ever,而是使用初始化脚本来运行你的应用程序并保持它运行(可能是 Upstart,因为你在 Ubuntu 上)。
使用slc run
如果您想将 slc run 作为 Upstart 作业运行,您可以使用 npm install -g strong-service-install 安装 strong-service-install。这将为您提供sl-svc-install,这是一个用于创建 Upstart 和 systemd 服务的实用程序。
你最终会运行类似sudo sl-svc-install --name my-app --user youruser --cwd /path/to/app/root -- slc run . 的东西,它应该会创建一个名为my-app 的Upstart 作业,它将作为你的uid 从应用程序的根目录运行你的应用程序。您的应用程序的 stdout/stderr 将被发送到 /var/log/upstart/my-app.log。如果您使用的是早于 12.04 的 Ubuntu 版本,则需要指定 --upstart 0.6,您的日志最终将转入 syslog。
使用slc pm
另一个可能更简单的方法是使用slc pm,它的运行级别高于slc run,并且恰好更容易作为操作系统服务安装。对于这条路线,您已经安装了所有东西。运行 sudo slc pm-install 并安装 strong-pm Upstart 服务以及 strong-pm 用户以使用 /var/lib/strong-pm 的 $HOME 运行它。
PM 方法稍微复杂一点的地方在于,您必须将应用部署到它。很可能这只是转到您的应用程序根目录并运行slc deploy http://localhost:8701/ 的问题,但具体情况将取决于您的应用程序。您可以为您的应用配置环境变量、部署新版本,您的日志将显示在 /var/log/upstart/strong-pm.log 中。
一般最佳做法
对于上述任一选项,我建议不要在您的服务器上执行npm install -g strongloop,因为它包括像 yeoman 生成器和其他在工作站上比在服务器上更有用的工具。 p>
如果你想走slc run 路线,你会做npm install -g strong-supervisor strong-service-install 并用sl-run 替换你的slc run。
如果你想走slc pm 路线,你会做npm install -g strong-pm 并将slc pm-install 替换为sl-pm-install。
免责声明
我在 StrongLoop 工作,主要研究这些工具。