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

Node.js进程在aws实例中被杀死

程招
2023-03-14

我们试图将我们的一个node js应用程序(AngularJS/NodeJS tech stack)部署到生产环境中。随机地,当节点进程被终止时,一些ec2实例就停止了。但是没有记录应用程序/系统级别的错误消息。我们无法在本地/开发/it环境中重现此问题。有人面临过类似的事情吗?非常感谢任何帮助。谢谢!

共有2个答案

阎啸
2023-03-14

默认情况下,当没有客户端连接到 nodejs 应用程序时,它将停止,您可以使用一些工具(如“永远”)来保持 nodejs 应用程序运行

高云瀚
2023-03-14

我知道这是一个老问题,以防其他人遇到同样的问题
很可能是您的内存不足,如这里所解释的。您可以使用dmesg命令(linux)进行验证。要修复此问题,可以添加更多内存或添加交换卷
一种方法是遵循这个答案:

sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
sudo /sbin/mkswap /var/swap.1
sudo chmod 600 /var/swap.1
sudo /sbin/swapon /var/swap.1
// enable after reboot
/var/swap.1 swap swap defaults 0 0
 类似资料:
  • 问题内容: 我试图在javascript中生成一个进程,并在一段时间后将其杀死(出于测试目的)。 最后,该过程将是一个无限循环,我需要在指定的时间使用不同的参数重新启动,因此我认为生成该过程并杀死它是执行此操作的最佳方法。 我的测试代码是: 结果是: 但是我仍然需要发送ctrl + C来结束程序。我想念什么? 在Raspbian的节点0.10.17上,omxplayer是二进制文件(视频播放器)。

  • 问题内容: 我正在使用child_process.spawn()从在Ubuntu上运行的Node.JS应用程序启动脚本。据我所知,标准的分叉或生成的* nix进程通常不会在父进程死后死亡,但是当从Node.JS生成进程时,它们似乎在我的应用程序崩溃或被ctrl-c等终止时被杀死。 。 为什么会这样,并且有解决办法?我似乎在child_process API中找不到任何明显的选项。 我的应用程序启动

  • 问题内容: 我从python脚本生成了5个不同的进程,如下所示: 我的问题是,当父进程(主脚本)以某种方式被杀死时,子进程继续运行。 当父进程被杀死时,有没有办法杀死这样生成的子进程? 编辑:我正在尝试: 但这似乎不起作用 问题答案: 我自己也遇到了同样的问题,我有以下解决方案: 打电话之前,您可以设置。然后如此处所述python.org multiprocessing 进程退出时,它将尝试终止其

  • 问题内容: 当Linux内存不足(OOM)耗尽时,OOM杀手根据一些启发式方法选择一个要杀死的进程(这很有趣: http //lwn.net/Articles/317814/)。 如何以 编程方式 确定OOM杀手最近杀死了哪些进程? 问题答案: 试试看:

  • 我试图执行: 致命错误:中允许的内存大小94371840字节已用尽(尝试分配71字节)phar:///home/xxxxxxx/bin/composer.phar/src/Composer/DependencyResolver/RuleSetGenerator.php 在线123 xxxxxxx是用户。 然后我试着执行: 和: 然后我收到了这个: 哎呀!您的一个进程(php,pid 14331)因

  • 问题内容: 我试图在Sublime上为Node.js建立一个构建系统,所以我可以按F7键在打开的文件上调用“节点”。问题在于该过程将永远开放,因此,第二次使用F7时,我会获得一个加载项。 有没有办法可以杀死来自node.js的打开的“ node.exe”进程? 问题答案: 使用以下命令集来标识在给定端口上运行的进程并从命令行终止该进程 它将输出类似于以下所示的详细信息 然后使用 终止该过程。使用再