我们的目标是用简单的命令创建大量的过程。所以每个创建的进程都会消耗一些RAM和CPU。如果我们永远循环它实际上不是永远,因为我们的系统资源是有限的系统将崩溃。所以我们可以问这个问题为什么我会崩溃我的系统。如前所述,我们可以将其用作不同目的的测试用例。
null
递归函数
在解释叉形炸弹之前,我们先看看叉形炸弹的基本原理。递归函数在编程语言中很流行,用来将大数据或问题分解成小部分进行处理。定义的函数将调用自身,直到满足定义的条件。例如,遵循名为 A
是递归函数。
Function A(b){Some process and conditionA(x)}
叉形炸弹
如前一章所述,fork-bomb使用提供的编程或脚本语言的递归性。我们可以把炸弹扔进去 bash
编程语言如下。我们将创建一个名为 c
从内心呼唤自己 c
功能。
$ b(){ b|b;}
我们将这样调用这个函数。
$ b()
叉形炸弹的奇怪实现
我们可以用不同的表达式实现fork-bomb,但逻辑相同。我们将使用一些bash快捷方式。
$ :(){ :|:&};:
当记忆完全耗尽后,我们将在下面的屏幕上看到幸福的结局。

如何用ulimit预防叉形炸弹
叉式炸弹可以用不同的方法来防止,但最简单和最基本的方法是使用 ulimit
命令。 ulimit
命令可以设置操作系统级别的限制。我们可以对用户进程设置限制。在本例中,我们将用户进程计数设置为 100
防止爆炸。
$ ulimit -u 100
我们可以用下面的命令检查。
$ ulimit -u

有关的更多详细信息 ulimit
可以在下面找到。
相关文章: 什么是DHCP及其工作原理?
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END