当前位置: 首页 > 面试题库 >

如何将Node.js作为后台进程运行并且永不消亡?

申屠健
2023-03-14
问题内容

我通过腻子SSH连接到linux服务器。我试图将其作为这样的后台进程运行:

$ node server.js &

但是,在2.5小时后,终端变为非活动状态,该过程终止。无论如何,即使在终端断开连接的情况下,我仍然可以保持该过程正常进行吗?

编辑1

实际上,我尝试过nohup,但是一旦关闭Putty SSH终端或拔出Internet插头,服务器进程就会立即停止。

在腻子里我有什么需要做的吗?

编辑2(2012年2月)

永远有一个node.js模块。它将作为守护程序服务运行node.js服务器。


问题答案:

简单的解决方案 (如果您对返回该过程不感兴趣,只希望它继续运行):

nohup node server.js &

还有一个jobs命令可以查看这些后台进程的索引列表。您可以通过运行kill %1kill %2将数字作为该进程的索引来杀死后台进程。

强大的解决方案 (如果它是交互式的,则允许您重新连接到该过程):

screen

然后,您可以通过按Ctrl + a + d进行分离,然后通过运行重新附加 screen -r

还可以考虑使用新的替代屏幕tmux。



 类似资料:
  • 问题内容: 多年来,由于这篇文章引起了很多关注,因此我在文章的底部列出了每个平台的最佳解决方案。 原始帖子 : 我希望我的node.js服务器在后台运行,即:当我关闭终端时,我希望服务器继续运行。我已经用谷歌搜索并提出了本教程,但是它没有按预期工作。因此,我没有使用该守护程序脚本,而是以为我只使用了输出重定向(该`2>&1 file`部分),但这也不会退出-我在终端中出现空白行,就像它在等待输出/

  • 问题内容: 我一直在尝试编写从串行端口读取数据的python脚本。它在命令行上运行良好,但是我需要它作为后台进程运行而没有任何命令行界面。该脚本有一个while循环,该循环从串行端口读取下一个数据字节,并相应地模拟按键。为了使按键可以专注于当前窗口而不是python命令行,我需要脚本作为后台进程运行。我在这里读的答案很少,但是没有什么让我振奋。请指出正确的方向。 问题答案: 在Windows上,您

  • 问题内容: 我通过SSH连接到远程服务器。然后,我使用Forever启动我的node.js应用程序。一切正常,直到关闭控制台窗口。即使通过ssh关闭连接,如何在远程服务器上永远运行node.js应用程序?我只想启动一个应用程序,然后关闭计算机。我的应用程序应在远程服务器的后台运行。 问题答案: 您可能还需要考虑使用upstart实用程序。它将允许您像服务一样启动,停止和重新启动节点应用程序。可以将

  • 问题内容: 部署Node.js的最佳方法是什么? 我有一个Dreamhost VPS(这就是他们所说的VM),并且我已经能够安装Node.js并设置代理。只要我保持打开节点时启动的SSH连接就可以了。 问题答案: 2016年答案 :几乎每个Linux发行版都随附systemd,这意味着 永久,monit,PM2等都不再需要-您的OS已经可以处理这些任务 。 制作一个文件(用您的应用名称替换“ my

  • 问题内容: 在我的应用程序中,当用户登录时,我具有此逻辑,它将使用用户拥有的所有符号调用以下方法。 我的问题是,由于此发送符号的任务可以缓慢完成,但必须完成,所以无论如何,我可以将其作为后台任务吗? 这可能吗 ?? 请分享您的意见。 问题答案: 您正在寻找类似这样的东西。 创建执行程序服务。这将保留线程池以供重用。与每次为每个异步方法调用创建一个新线程相比,效率要高得多。 如果您需要对Execut

  • 问题内容: 我目前正在为运行ubuntu的vms开发一个简单的部署脚本。所有这些机器都应该运行以jar形式提供的Java应用程序。 这是安装Java,将jar从本地计算机复制到远程计算机然后启动应用程序的脚本的相关部分: 通过java_installation.sh脚本的安装成功,scp命令也是如此。尝试通过ssh执行java_start_jar.sh中的命令时,会发生问题。java_start_