【linux脚本】fork炸弹

fork炸弹

fork炸弹是一种利用系统调用fork进行拒绝服务攻击。

与病毒或蠕虫不同,fork炸弹没有传染性。

在类UNIX系统的shell编程下触发fork炸弹的shell脚本代码,总共13个字符(包括空格)

:(){ :|:& };:

其中::()是函数声明;|并用管道将其输出引至

:|:表示每次调用函数“:”的时候会生成两份备份;

调用间脱钩,以使最初的“:”被杀死后为其调用的两个”:”还能继续执行;

要想杀死每个进程不是那么容易,我们要杀死所有的进程才行。因此我们尝试用程序来杀死fork炸弹所产生的所有进程,但是我们如果想创建进程,我们必须要有进程槽和内存空间,但是fork炸弹会一直探测并占有进程与内存空间,因而这一功能基本不可能实现;

因此,我们理论上是不可以将fork炸弹熄火的。只有强制关机。

但是,我们可以采取措施来预防fork炸弹的产生。

linux下我们可以通过ulimit这个指令来达到效果。例如:ulimit -u 100这个指令可以限制每一个用户只能创建100个进程。

你可能感兴趣的:(操作系统之linux,linux,shell)