Javascript Node.js服务器未在永久停止0上停止

Javascript Node.js服务器未在永久停止0上停止,javascript,node.js,Javascript,Node.js,我的情况是: 我在domain.com:54321运行node.js服务器 我用于启动服务器的命令是: forever start -l forever.log -a -o out.log -e err.log index.js 然而,在某些情况下,我们的代码会进入一个要求很高的函数,导致脚本工作非常缓慢或没有响应。我们正在努力优化它 在这种情况下,我会停止服务器,并在需要时启动一个新的服务器,比如说domain.com:67890 forever stop 0 但是,如果我想用这个重新启动

我的情况是:

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

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

forever start -l forever.log -a -o out.log -e err.log index.js
然而,在某些情况下,我们的代码会进入一个要求很高的函数,导致脚本工作非常缓慢或没有响应。我们正在努力优化它

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

forever stop 0
但是,如果我想用这个重新启动最近停止的node.js服务器
domain.com:54321
(或者重新启动它而不是停止它),我希望进程停止并再次以新的速度运行

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

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


谢谢

要确保停止此过程,您可以使用:


运行
永久列表
然后
永久停止**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索引,
数据:[0]
数据:[1]
,您可以使用永久运行的id停止永久守护进程,方法有四种:

  • 索引
  • 身份证
  • 液体
  • pid
我可以看到关于使用pid停止一个永远运行的守护进程的答案之一,我可以为其他方法添加pid

列出永久运行的实例:

$forever列表

信息:永久进程正在运行

|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 |
$forever stop 0
索引

$forever stop 2146
id

$forever stop--uid f4Kt
uid


$forever stop--pidFile 2131
pid

可能会强制终止所有节点进程,如果您需要的话


按照以下答案终止所有节点进程:

尝试运行“永久列表”和“sudo永久列表”停止服务后,列表需要被删除empty@AlfredoLanzetta我这样做了,它们确实被停止了。尝试运行
forever.stopAll&&forever.cleanUp
。我还建议您在项目中使用PM2,而不是永远。@Alfredlanzetta是永远的。
stopAll
停止所有正在运行的node.js服务器?(我问这个问题时没有先测试它,因为我会在生产中运行它)使用,它就像一个符咒!嘿,维克托,这和永远停止0不同吗?你好,我不认为这回答了我的问题。你好,我不认为这回答了我的问题。你好,我不认为这回答了我的问题。
|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 |