【问题标题】:NodeJS script on Azure VMAzure VM 上的 NodeJS 脚本
【发布时间】:2016-06-14 15:09:52
【问题描述】:

我在 Azure 上设置了一个 Linux VM,它安装了 NodeJS 和 MongoDB。

然后我有一个需要持续运行的单节点脚本(它接收和发送从 Android 应用程序生成的 Google 推送通知,并相应地保存到我的 MongoDB)。

到目前为止,我可以让它运行的唯一方法是通过我的本地机器上的 ssh 连接,使用“node gcm.js”运行脚本,它工作正常。但是当我与服务器断开连接时,脚本停止运行......那么如何在不需要连接本地计算机的情况下运行它呢?一项只启动一次的 cron 作业?还是我以完全错误的方式解决了这个问题?

【问题讨论】:

  • 在后台运行脚本的方法有很多,包括但不限于cron作业、服务和屏幕等,但我建议将此问题发布到适当的论坛,例如serverfault.com
  • 谢谢,认为屏幕可以让我做我需要的。并指出使用正确的论坛。

标签: android node.js mongodb azure ssh


【解决方案1】:

根据我的经验,有一种简单的方法可以让当前进程作为后台作业运行。

下面是步骤。

  1. 在本地机器上通过 ssh 连接,然后运行脚本 node gcm.js
  2. 输入Ctrl+Z停止当前进程,然后你会在下面看到,下面[N]+N编号就是job id。

    ^Z
    [N]+ 停止的节点 gcm.js

  3. 输入bg %NN 作业从已停止的前台作业转换为后台作业。

  4. 输入disown -h %N,将N作业从当前shell的作业列表中删除,关闭当前ssh连接后,进程将继续运行。

这些linux命令的更多细节,我想你可以通过搜索引擎轻松获得。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2018-05-13
    • 2022-01-16
    • 2021-06-14
    • 2019-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    相关资源
    最近更新 更多