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

Firebase之后,节点进程不会退出

公羊嘉
2023-03-14
问题内容

将node.js与npm firebase一起使用。

var firebase = require('firebase');
var blahFirebase = new firebase('https://myfirebase.firebaseIO.com/blah');
blahFirebase.once('value', function (snapshot) {
    //
});

完成数据读取后,为什么节点不退出?


问题答案:

更新资料

请注意,这不再适用。使用一次()时,Node.js将不再挂起,尽管只要有订阅到远程服务器的活动侦听器,Node.js就会保持打开状态。

原版的

Firebase进程打开服务器的套接字,并为这些连接上的传入数据建立侦听器。就像节点Web服务器一样,它等待传入的HTTP连接,这使进程保持打开状态。

要结束该过程,您可以简单地从回调内部利用process.exit():

blahFirebase.once('value', function (snapshot) {
    //
    process.exit();
});


 类似资料:
  • 使用Ubuntu 13.10和运行节点v0.10.0。我正在使用pty.jsv0.2.4生成一个程序(需要在交互式环境中运行)。该程序是用C编写的,并分叉子进程本身。 我已经编写了一个非常精简的C程序版本(我称之为“forktest”),它具有产生此问题所需的最小值,并包含以下内容: 我还整理了一个最小节点脚本,用coffeescript(test.coffee)编写,它运行程序,如下所示: 运行

  • 问题内容: 假设我有一个进程,它恰好产生了一个子进程。现在,当父进程出于某种原因(正常或异常,通过kill,^ C,断言失败或其他任何原因)退出时,我希望子进程死亡。如何正确地做到这一点? 问题答案: 子进程可以通过在syscall中指定选项来要求父进程去世时内核发出(或其他信号),如下所示: 有关详细信息,请参见。 编辑:这是仅Linux

  • 在正常操作中,当我的应用程序被发送一个“kill -s SIGTERM”时,它可以正常退出。 然而,在负载下,有时进程不退出。 我只是想知道有没有可能http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6392332原因是什么,或者可能是其他原因? 以下是有问题的过程的堆栈跟踪的某些部分,显示了关闭方法,任何帮助都非常感谢。 请注意,这是一个在 6

  • 进程退出和等待进程 当进程执行完它的工作后,就需要执行退出操作,释放进程占用的资源。ucore分了两步来完成这个工作,首先由进程本身完成大部分资源的占用内存回收工作,然后由此进程的父进程完成剩余资源占用内存的回收工作。为何不让进程本身完成所有的资源回收工作呢?这是因为进程要执行回收操作,就表明此进程还存在,还在执行指令,这就需要内核栈的空间不能释放,且表示进程存在的进程控制块不能释放。所以需要父进

  • 我试图在一个3节点redis集群中建立一个自动故障转移系统。我在每个节点上都安装了redis-sentinel(就像这个家伙:http://www.symantec.com/connect/blogs/configuring-redis-high-availability)。只要我有两三个节点,一切都很好。问题是,当只剩下onte节点并且它是从节点时,它不会自动被选为主节点。仲裁设置为1,因此最后

  • 字节Java后端一面凉透,中途都想说可以不面了吗 太菜了,都不会 1.自我介绍,要求从你的优势,。。。(忘了)反正三个方面进行介绍 2.接受用go语言吗 3.建索引需要从哪几个方面考虑,给了几个字段,订单id,商品id,用户id,时间。分别不同查询场景的时候怎么建立索引。 4.log日志文件,数据量特别大,里面有很多订单信息,统计前topk商品id (不知道,虽然面试官一直在引导,但真不会) 5.