2010年3月16日星期二

让系统死机的Bash脚本

代码:


:(){ :|:& };:

.(){ .|.& };.


其实在多年前就已经接触了这个脚本。当时只是试了一下,并把系统搞死了,然后强制关机的。不过一直没有了解这个脚本的具体作用。【好吧,我不是个好学生】今天在看书的时候再次碰到,所以就了解了以下,记录如下:

把上面的脚本拆开来,意义就明显了:


1. :()
2. {
3. :|:&
4. }
5. ;
6. :


1,是函数定义的开始,函数名是":";
2,就是函数体的开大括号;
3,调用自己,并用管道调用自己,放到后台;
4,函数体结束的闭大括号;
5,语句分隔符
6,调用这个函数。

了解了这个脚本的意义,一下子就记住了,否则这串像表情符号那样的文字还真不好记忆。

警告:请勿随便在自己的机器上试验上述脚本,搞死机器事小,要是把机器搞坏,那就后果自负了啊!!!



其实,要试验也可以,把代码修改一下,这样可以让你见识到这个恐怖的脚本,也不至于死机,虽然不那么漂亮了:


.(){ sleep 1; .|.& };.


不过,务必记住,请首先打开系统监视器,观察程序的运行情况,当你发现你的进程ID已经迅速飙升至5位数或6位数的时候,请立刻关闭执行脚本的Gnome-Terminal窗口。

更多信息参考这里

没有评论:

发表评论