用Bash-Fork炸弹摧毁Linux系统

我们的目标是用简单的命令创建大量的过程。所以每个创建的进程都会消耗一些RAM和CPU。如果我们永远循环它实际上不是永远,因为我们的系统资源是有限的系统将崩溃。所以我们可以问这个问题为什么我会崩溃我的系统。如前所述,我们可以将其用作不同目的的测试用例。

null

递归函数

在解释叉形炸弹之前,我们先看看叉形炸弹的基本原理。递归函数在编程语言中很流行,用来将大数据或问题分解成小部分进行处理。定义的函数将调用自身,直到满足定义的条件。例如,遵循名为 A 是递归函数。

Function A(b){Some process and conditionA(x)}

叉形炸弹

如前一章所述,fork-bomb使用提供的编程或脚本语言的递归性。我们可以把炸弹扔进去 bash 编程语言如下。我们将创建一个名为 c 从内心呼唤自己 c 功能。

$ b(){ b|b;}

我们将这样调用这个函数。

$ b()

叉形炸弹的奇怪实现

我们可以用不同的表达式实现fork-bomb,但逻辑相同。我们将使用一些bash快捷方式。

$ :(){ :|:&};:

当记忆完全耗尽后,我们将在下面的屏幕上看到幸福的结局。

Fork bomb
叉形炸弹

如何用ulimit预防叉形炸弹

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

$ ulimit -u 100

我们可以用下面的命令检查。

$ ulimit -u
How To Prevent Fork Bomb with ulimit
如何用ulimit预防叉形炸弹

有关的更多详细信息 ulimit 可以在下面找到。

相关文章: 什么是DHCP及其工作原理?

Linux Ulimit命令教程,带增加打开文件限制的示例

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享