如何故意破坏我的Node应用程序?

 空心悟心 发布于 2023-02-07 15:01

我一直在与Dokku和Docker一起开展部署工作流程,现在我想要关注我的应用程序的连续性(沿着Forever的路线).为了测试它,我需要一种方法来故意崩溃我的应用程序.

我用一个应该破坏我的应用程序的函数创建了一个新的路径'/ crashme'.

到目前为止,还没有找到一种在node/nodemon本地工作的方法,我尝试过:

被零除

抛出新的用户异常

引用不存在的变量

这些东西都不会使应用程序崩溃到需要重新启动的程度.

我怎么能把它搞定?

3 个回答
  • 要添加到Golo答案:

    C模块因分段故障而崩溃:

    int main ()
    {
        //Create a array of 1 char
        char a [1];
        //Create a index
        int i = 0;
        //Infinite loop to go around the compiler
        while(1)
        {
            //Write on case i of a, on the second iteration, it will write in unreserved memory => crash
            a[i] = 0;
            i = i + 1;
        }
        //Should not go there
        return -1;
    }
    

    2023-02-07 15:01 回答
  • 我想到了三件事:

    你可以打电话process.exit.这肯定会使您的应用程序进入需要重新启动的状态.

    另一种选择可能是运行无限循环,例如while (true) {}.这应该使Node.js使用100%的CPU,因此应该重新启动应用程序(当然,这意味着你/某人必须看你的应用程序).

    在C中创建一个崩溃的模块,例如尝试访问内存中的随机位置.我手边没有这样的模块,但是我很确定拥有C技能的人应该很容易编写这样的模块.

    2023-02-07 15:01 回答
  • 我曾尝试在Express中使用/ crash路由进行类似操作,但是仅从路由处理程序中引发错误并不足以使其崩溃。

    process.exit将停止我的应用程序,但永远不会重新启动它。(永远的日志只说了诸如进程自身终止之类的东西。)

    对我有用的是将其插入我的/crash路线中:

    setTimeout(function () {
          throw new Error('We crashed!!!!!');
    }, 10);
    

    2023-02-07 15:02 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有