当前位置: 首页 > 知识库问答 >
问题:

节点。js服务器未在永久停止0上停止

翟丰茂
2023-03-14

我的情况是:

我正在运行一个node.js服务器domain.com:54321

我用于启动服务器的命令是:

forever start -l forever.log -a -o out.log -e err.log index.js

然而,在某些情况下,我们的代码进入了一个要求很高的函数,导致脚本工作非常缓慢或无响应。我们正在努力优化它。

在这种情况下,我会停止服务器,并在需要时启动一个新的服务器,比如说domain。com:67890

forever stop 0

但是如果我想重新启动最近停止的节点。js服务器域。com:54321(或者重新启动它而不是停止它)这样,我希望进程停止并再次以新的速度运行。

如果我再次启动它,或者重新启动它,它将继续占用大量资源。我发现我需要离开几小时才能重新开始。

我的问题是,是否有其他命令可以确保该服务器的每个实例、资源都已停止,以便我可以立即重新开始使用它?

非常感谢。

共有3个答案

应志用
2023-03-14

运行永久列表然后永久停止**id**

下面是一个示例输出

$ forever list
info:    Forever processes running
data:        uid  command                                                  script forever pid   id logfile                          uptime        
data:    [0] 9Xzw ng serve --host 0.0.0.0 --port 300         1111   2312    /home/ec2-user/.forever/9Xzw.log 1:3:20:50.412 
data:    [1] wOj1 npm run-script app-start-dev                                    29500   24978    /home/ec2-user/.forever/wOj1.log 0:0:5:3.433

检查您的进程id并终止

永久停止0永久停止1永久停止2

这里0,1,2索引进程,data:[0]data:[1]

关飞翼
2023-03-14

要确保停止进程,可以使用pid选项:

forever start -l forever.log -a -o out.log -e err.log --pidFile ~/app_pid index.js

forever stop --pidFile ~/app_pid
窦涵忍
2023-03-14

您可以使用永久运行的id停止Forever守护进程,使用四种不同的方式:

  • 索引
  • id
  • uid
  • pid

我可以看到关于使用pid停止一个永远运行的守护进程的答案之一,我可以为其他方法添加pid。

列出永久运行的实例:

$永远列表

信息:永远运行的进程

|data: | index | uid | command          | script      |forever pid|id   | logfile                |uptime        |
|------|-------|-----|------------------|-------------|-----------|-----|------------------------|--------------|
|data: | [0]   |f4Kt |/usr/bin/nodejs   | src/index.js|2131       | 2146|/root/.forever/f4Kt.log | 0:0:0:11.485 |

$永远停止0索引

$forever stop 2146id

##################################################################################################

$forever stop--pidFile 2131pid

 类似资料:
  • 问题内容: 我已经到了秃顶几步之遥… 我正在尝试运行一项服务,该服务将检查我工作中的服务器是否正在运行。应该每5分钟执行一次。 我经历过TimerTask,ScheduledExecutorService,最后是Handler。他们都工作了好几个小时,除了一些不准确的地方外,还有1-5分钟的时间,然后突然,“计时器”就停止了发射。 现在,我已经了解到,如果Scheduler遇到未捕获的异常,它将停

  • 问题内容: 在这里,我尝试了简单的服务程序。启动服务可以正常工作并生成Toast,但停止服务则不能。此简单服务的代码如下: 调用此服务的活动的代码如下: 使用该停止按钮帮助我停止服务,该按钮在onDestroy()方法中生成吐司。我已经在这里看到了很多有关停止服务问题的帖子,但并不令人满意,因此发布了新问题。希望得到满意的答复。 问题答案: 是错误的名字 您是否仅在此问题或代码中犯了错误?

  • 问题内容: 我显然正在运行一个实例,因为当我尝试通过输入来启动新服务器时,遇到了以下问题: 我不知道如何停止此服务器并启动新服务器。 在CLI中键入命令时,可以追加任何命令吗? 我的操作系统是Ubuntu 10.04。 问题答案: 连接到节点实例并使用shutdown命令,或者如果您在ubuntu上,则可以尝试通过init.d重新启动Redis服务器: 或停止/启动它: 在Mac上

  • 我的应用程序设置为(非故意)服务将使用gps/网络侦听器轮询位置。它工作得很好,因为我负责服务何时结束(即在找到新位置或达到超时时调用stopSelf())。然而,我最近读到,intentService可能更适合长时间运行的任务,因为它不是在ui线程上运行的,而是在自己的工作线程上运行的。问题是,现在它不允许服务在任何时间运行(我假设这是因为服务中没有任何活动发生,而侦听器等待接收位置,因此服务本

  • 问题内容: 我一直在使用Tornado Web服务器进行一些测试, 并且到了要停止Web服务器的地步(例如在单元测试期间)。龙卷风网页上存在以下简单示例: 一旦被调用,它将阻塞程序(或当前线程)。读取所述源代码的对象给出了文档在这个例子中功能: 但是,我不知道如何将其集成到我的程序中。其实我有一个封装(有它自己的Web服务器类和函数),但只要我打电话开始,程序(或测试)过程块会反正。 我试图在另一

  • 我正在使用插件Goup-server-li的负载。 如何停止服务器? 我尝试了server.restart(),server.kill(),server.reset() 但总是有这样的错误: 未捕获错误:在Object.exports处侦听EADDRINUSE 127.0.0.1:35729_导出时出现errnoException(util.js:1022:11)_服务器上的exceptionWi