我在Azure上安装了一个安装了NodeJS和MongoDB的Linux VM。
然后我有一个单节点脚本需要不断运行(它接收并发送从Android应用程序生成的Google推送通知并相应地保存到我的MongoDB)。
到目前为止,我可以让它运行的唯一方法是通过我的本地机器上的ssh连接,用"节点gcm.js"运行脚本,这很好。但是,当我从服务器断开连接时脚本停止运行...那么如何在不需要连接本地计算机的情况下运行它?一个只启动一次的cron工作?或者我是以完全错误的方式解决了这个问题?
答案 0 :(得分:0)
根据我的经验,有一种简单的方法可以保持当前进程作为后台作业运行。
以下是以下步骤。
node gcm.js
。输入Ctrl+Z
以停止当前流程,然后您会在下方看到,N
下面的[N]+
号是作业ID。
^ Z
[N] +已停止的节点gcm.js
输入bg %N
将N
作业从已停止的foregroud作业转换为后台作业。
disown -h %N
以从当前shell的作业列表中删除N
作业,然后在关闭当前ssh连接后进程将运行。有关这些linux命令的更多详细信息,我认为您可以通过搜索引擎轻松获取。
希望它有所帮助。