zoukankan      html  css  js  c++  java
  • :(){:|:&};:

    在Linux系统下执行这段代码 :(){ :|:& };: 就会引起死机,一旦执行起来后,唯一的方法就是重启系统。实际上这段代码是一段无限递归代码,将系统资源耗尽。  在Linux系统下执行这段代码 :(){ :|:& };: 就会引起死机,一旦执行起来后,唯一的方法就是重启系统。实际上这段代码是一段无限递归代码,将系统资源耗尽。 本文下面有这段代码的详细解释,为了防止fork炸弹,方法就是限制用户能够启动的进程数。具体做法,编辑/etc/security/limits.conf文件,在末尾加入 : * hard nproc 200 将用户的进程数限制为200,经过测试,root账户不受这个限制。 Q. Can you explain following bash code or bash fork() bomb? :(){ :|:& };: A. This is a bash function. It gets called recursively (recursivefunction). This is most horrible code for any Unix / Linux box. It isoften used by sys admin to test user processes limitations (Linuxprocess limits can be configured via /etc/security/limits.conf and PAM). Once a successful fork bomb has been activated in a system it may notbe possible to resume normal operation without rebooting, as the onlysolution to a fork bomb is to destroy all instances of it. WARNING! These examples may crash your computer if executed. Understanding :(){ :|:& };: fork() bomb code :() - It is a function name. It accepts no arguments at all. Generally, bash function is defined as follows: foo(){ arg1=$1 echo '' #do_something on $arg argument } fork() bomb is defined as follows: :(){ :|:& };: :|: - Next it call itself using programming technique called recursionand pipes the output to another call of the function ':'. The worstpart is function get called two times to bomb your system. & - Puts the function call in the background so child cannot die at all and start eating system resources. ; - Terminate the function definition : - Call (run) the function aka set the fork() bomb. Here is more human readable code: bomb() { bomb | bomb & }; bomb Properly configured Linux / UNIX box should not go down when fork() bomb sets off.
  • 相关阅读:
    「BZOJ1061」 [Noi2008]志愿者招募
    [POJ 2891] Strange Way to Express Integers (扩展中国剩余定理)
    扩展中国剩余定理学习笔记
    扩展欧几里得算法+推论
    SPOJ16607 IE1
    [Luogu P4124] [CQOI2016]手机号码 (数位DP)
    [UOJ 275/BZOJ4737] 【清华集训2016】组合数问题 (LUCAS定理的运用+数位DP)
    一些很妙的网站
    [Luogu P3157][CQOI2011]动态逆序对 (树套树)
    [Luogu P3203] [HNOI2010]弹飞绵羊 (LCT维护链的长度)
  • 原文地址:https://www.cnblogs.com/adodo1/p/4327986.html
Copyright © 2011-2022 走看看