在网上看到一行代码.(){ .|.& }; .

抱着大无畏的精神,在VM中的linux输入以上代码,不一会儿就发现linux占用资源相当厉害,远程登录窗口也没有反应,再过一会儿看到linux内存被占用完,mysql由于无内存可用,导致系统mysql进程挂了,

为什么以上简单的代码会把系统内存占用干净,原因如下

原代码如下:

.( ){ .| .& };.

可以将其看成以下的形式:

1 . () 

2   {

3    .|. & 

4   }

5 ;

6.

  • 第 1 行说明下面要定义一个函数,函数名为小数点,没有可选参数。
  • 第 2 行表示函数体开始。
  • 第 3 行是函数体真正要做的事情,首先它递归调用本函数,然后利用管道调用一个新进程(它要做的事情也是递归调用本函数),并将其放到后台执行。
  • 第 4 行表示函数体结束。
  • 第 5 行并不会执行什么操作,在命令行中用来分隔两个命令用。从总体来看,它表明这段程序包含两个部分,首先定义了一个函数,然后调用这个函数。
  • 第 6 行表示调用本函数。

转载于:https://www.cnblogs.com/gentoofly/archive/2012/12/08/2808777.html

Linux bash shell递归函数相关推荐

  1. linux bash shell之declare

    linux bash shell之declare declare或typeset内建命令(它们是完全相同的)可以用来限定变量的属性.这是在某些编程语言中使用的定义类型不严格的方式.命令declare是 ...

  2. linux bash shell之变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法

    linux bash shell之变量替换::=句法.=句法.:-句法.-句法.=?句法.?句法.:+句法.+句法 变量替换和变量默认值设置是紧密相关的,至少从概念出发是如此. 参数扩张是将类似于变量 ...

  3. linux bash and,linux bash shell中for的用法and示例

    关于linux bash shell中的for语句 在linux中shell是必不可少的一部分,但是在bash shell中有while,for,until等循环命令,今天就介绍一下关于for的一些用 ...

  4. linux bash shell wget 下载google drive(谷歌云端硬盘)中大文件

    linux bash shell wget 下载google drive(谷歌云端硬盘)中大文件 wget --load-cookies /tmp/cookies.txt "https:// ...

  5. linux bash java,从Linux Bash Shell配置NIC

    我有戴尔笔记本电脑运行以下版本的RedHat Linux:2.6.18-53.el5#1 SMP Wed 10月10日16:34:02 EDT 2007 i686 i686 i386 GNU / Li ...

  6. Linux bash shell基础语法

    转自:http://blog.sina.com.cn/s/blog_46177c3401014fty.html 一.Shell基本类型的变量: (1)Shell定义的环境变量: Shell在开始执行时 ...

  7. linux emacs命令,Linux Bash Shell 终端 Terminal Emacs 模式 常用 快捷键 命令

    背景: OS:Ubuntu 16.04 Bash 的编辑模式:Emacs 模式 本文介绍的快捷键 仅当 您的 Bash 的编辑模式 为 Emacs 模式 时 有效,Bash 默认的编辑模式为 Emac ...

  8. Linux Bash Shell j简单入门

    BASH 的基本语法 最简单的例子 -- Hello World! 关于输入.输出和错误输出 BASH 中对变量的规定(与 C 语言的异同) BASH 中的基本流程控制语法 函数的使用 2.1     ...

  9. Linux Bash Shell编程快速入门

    BASH 的基本语法 最简单的例子 -- Hello World! 关于输入.输出和错误输出 BASH 中对变量的规定(与 C 语言的异同) BASH 中的基本流程控制语法 函数的使用 2.1     ...

  10. Linux Bash Shell学习(十八):String I/O——echo和printf

    本文也即<Learning the bash Shell>3rd Edition的第七章Input/Output and Command-Line Processing之读书笔记之二. e ...

最新文章

  1. 化栈为队(两个栈来实现一个队列)
  2. Linux系统用户环境变量大全,linux系统和用户环境变量的配置文件
  3. sqlmap mysql案例_sqlmap简单mysql注入演示附截图
  4. Linux设备驱动模型之platform总线
  5. SSH框架中不为人知的细节(一)
  6. 5/7 SELECT语句:过滤(LIKE使用通配符)
  7. mac安装多php环境变量配置,Mac如何安装多个php版本
  8. python界面设计实例qt_pyqt的最小示例qtreeview和qt设计
  9. 搜狐“狐友”正式版上线 扩张我的社交圈
  10. 一套组合拳,打造一款 IDEA 护眼方案
  11. 2d-x中Lua类型强转问题
  12. tornado 重定向404
  13. Linux zlog日志打印
  14. tar 压缩文件夹到指定的目录
  15. 利用requests模块进行数据爬取的基本操作
  16. 大一新生必看,自学必看,里昂详解数据结构之图
  17. 字节跳动或推独立出口电商APP,亚马逊阿里虾皮:不慌
  18. 《长日将尽》事业禁锢了自我,然`长日终将尽,告别有晴天
  19. sklearn 留一法与交叉验证法
  20. 基于java的qq聊天室项目

热门文章

  1. CentOS安装MySQL问题汇总
  2. 阅读Google的C++代码规范有感
  3. vue脚手架项目中引入jquery
  4. Django重新整理3
  5. SpringBoot笔记7:使用JavaMail结合RabbitMQ发送邮件
  6. 如果你的年龄在35~55岁之间,一定要看这张图
  7. 有一种尊重,叫迟三秒再关门
  8. VMC to Hyper-V Import Tool 简体中文版.VZPEDIA首发
  9. 14.卷1(套接字联网API)---高级IO函数
  10. 25.MySQL sql_mode