tinylr / nodejs - 如何访问当前运行的服务器

时间:2014-04-11 11:58:45

标签: node.js gulp livereload

在父进程中,我启动了tiny-lr(livereload)服务器,然后生成一个查找css文件更改的子进程。如何将livereload服务器传递给子进程,或者是否可以查询当前在子进程中运行的livereload服务器,以便我不再创建它来获取端口的已使用错误。

与节点http服务器相同的情况。我可以知道服务器是否已经在运行并使用它而不是创建新服务器。

1 个答案:

答案 0 :(得分:1)

是否可以查询livereload - 它可以并且可以以多种方式实现。

  1. 使用stdout/stdin与子进程通信。有关详细说明,请查看HERE。基本上,您可以将消息从一个进程发送到另一个进程并回复它们。

  2. 使用http.request检查端口是否正在使用。

  3. 您可以使用文件:使用服务器的进程使文件在写入模式下保持打开状态 - 文件内容存储服务器运行的端口(如果需要)

  4. 您也可以使用sockets进行进程间通信。

  5. 基本上,上述都不保证 100%保密,因此您无论如何都必须try/catch出现错误:服务器可能会在您检查后死亡,但在您想要做某事之前用它。

    如何将livereload服务器传递给子进程 - 如果您的意思是在不同进程之间共享一个对象,那么肯定是不可能的;如果你的意思是改变我对象的所有权,那么99,99%肯定也不可能。

    只有一个进程负责运行服务器有什么问题?如果需要,为什么不使用forever来处理运行和重新启动服务器?