2016-06-13 94 views
-1

我已经在安装了NodeJS和MongoDB的Azure上设置了Linux VM。Azure VM上的NodeJS脚本

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

到目前为止,我可以得到它运行的唯一方式是通过SSH连接我的本地机器上,运行具有“节点gcm.js”的脚本,它工作正常。但是,当我从服务器断开脚本停止运行...那么我如何运行它,而无需连接我的本地机器?只开始一次的cron作业?或者,我是否完全错误地解决了这个问题?

+0

有很多方法可以在后台运行脚本,包括但不限于cron作业,服务和屏幕等,但我会建议发布此问题适当论坛,如http://serverfault.com – Saleem

+0

感谢,认为屏幕会让我做我需要的。并采取了关于使用正确的论坛。 –

回答

0

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

以下是以下步骤。

  1. 通过本地机器上的ssh进行连接,然后运行脚本node gcm.js
  2. 输入Ctrl+Z用于停止当前进程,那么您将在下面看到,号码[N]+下面是作业ID。

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

  3. 输入bg %NN作业从采空foregroud作业转换成一个后台作业。

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

这些linux命令的更多细节,我认为你可以很容易地通过搜索引擎获得。

希望它有帮助。