学习bash脚本看到一段代码(老鸟应该知道)挺有意思,一时看不懂。该命令不需要管理员即可运行,请不要在你的机器上使用以下脚本,否则你知道你在干什么

:() { :|: & };:

参考链接:https://www.geeksforgeeks.org/fork-bomb/

大致是定义了个冒号的函数:()

{:|: &} 表示运行这个函数并把它作为管道送到后台再运行(递归),最后一个冒号表示立即执行,然后他这个函数会一直地生成新的进程,最终形成拒绝服务攻击,直到把系统资源耗尽,你只能关机了。

想要防止这种fork炸弹,可以以管理员身份修改配置文件/etc/security/limits.conf中的nproc,如hard nproc 100来限制最大进程数,从而阻止这种攻击。

linux中的fork炸弹的更多相关文章

  1. Unix/Linux中的fork函数

    fork函数介绍 一个现有进程可以调用fork函数创建一个新进程.该函数定义如下: #include <unistd.h> pid_t fork(void); // 返回:若成功则在子进程 ...

  2. 浅析linux中的fork、vfork和clone

    各种大神的混合,做个笔记. http://blog.sina.com.cn/s/blog_7598036901019fcg.html http://blog.csdn.net/kennyrose/ar ...

  3. 深入解析Linux中的fork函数

    1.定义 #include <unistd.h> #include<sys/types.h> pid_t fork( void ); pid_t 是一个宏定义,其实质是int, ...

  4. [fork]Linux中的fork函数详解

    ---------------------------------------------------------------------------------------------------- ...

  5. linux中的fork()函数以及标准I/O缓冲

    1. fork()创建的新进程成为子进程.一次调用,两次返回,子进程的返回值是0,而父进程的返回值是新子进程的进程ID,如果出现错误,fork返回一个负值. 2. 可以通过fork返回的值来判断当前进 ...

  6. linux中的fork函数的基本用法

    代码: #include <iostream> #include <string> #include <cstdio> #include <unistd.h& ...

  7. Linux编程之fork函数

    在Linux中,fork函数的功能就是在一个进程中创建一个新的进程,当前调用fork函数的进程就是产生的新进程的父进程,新进程在以下也称为子进程.在新进程生成之后就会在系统中开始执行. 函数原型:pi ...

  8. 谨慎使用多线程中的fork 学习!!!!

    前言 在单核时代,大家所编写的程序都是单进程/单线程程序.随着计算机硬件技术的发展,进入了多核时代后,为了降低响应时间,重复充分利用多核cpu的资源,使用多进程编程的手段逐渐被人们接受和掌握.然而因为 ...

  9. linux bash Shell脚本经典 Fork炸弹演示及命令详解

    Jaromil 在 2002 年设计了最为精简的一个Linux Fork炸弹,整个代码只有13个字符,在 shell 中运行后几秒后系统就会宕机: :(){:|:&};: 这样看起来不是很好理 ...

随机推荐

  1. PyTorch 中 weight decay 的设置

    先介绍一下 Caffe 和 TensorFlow 中 weight decay 的设置: 在 Caffe 中, SolverParameter.weight_decay 可以作用于所有的可训练参数, ...

  2. this.getResolve is not a function VUE中使用sass

    1. 安装以下依赖 npm install node-sass --save-dev //安装node-sass npm install sass-loader --save-dev //安装sass ...

  3. 论文解读《Plug-and-Play Priors for Model Based Reconstruction》

    这篇论文主要概述了model-baesd的方法在解决图像恢复的逆问题的很好的效果,降噪问题其实就是前向模型的H是一个恒等算子,将state-of-the-art的降噪算法(先验模型)和相对应的逆问题的 ...

  4. D. The Wu 解析(思維、二進位運算)

    Codeforce 1017 D. The Wu 解析(思維.二進位運算) 今天我們來看看CF1017D 題目連結 題目 略,請直接看原題 前言 官方解答實在看不懂...之後還記得的話再補那個做法吧 ...

  5. 编写优美代码的七条规范(Python版)

    编程是一种与计算机系统通信的语言.交流就是与某人分享思想.二进制语言是计算机的最核心的语言.但是在前端,我们有很多种语言.这些语言使用解释器将前端代码转换为二进制代码.基本上,系统对一行代码执行大量内 ...

  6. JS如何避免重复性触发操作

    btn的click事件,每次点击都会执行给定的function,如果function复杂的话,很容易消耗内存 解决方法--setTimeout延时处理. 给function做延迟处理,比如600毫秒后 ...

  7. flask-profiler的使用

    使用 profiler测量在你的Flask 应用程序中定义的端点:并通过web界面提供细粒度的报告. 它给出了这些问题的答案: 应用程序中的瓶颈在哪里? 应用程序中最慢的终结点? 哪些是最常被调用的终 ...

  8. 4G DTU和4G工业路由器有哪些区别?

    DTU的英文全称是Data Transfer unit,是一种专门用来将将IP数据转换为串口数据或者是将串口数据转换为IP数据并且通过无线通信网络将数据进行传送的无线终端设备.DTU也可以实现无线网络 ...

  9. Django之MTV实战(2)

    目录 1. 回顾知识 1.1 新增工程 1.2 创建新的APP 1.3 注册APP 1.4 编写URL和VIEW 1.5 验证结果如下: 2. 基本概念 2.1 专业术语 2.2 MTV之视图 2.2 ...

  10. 处理textarea里Enter(回车换行符)

    Enter换行符 如果包含有回车换行符,在字符串中表现为"\n": 会返回一条字符串: 原文章:https://blog.csdn.net/shenlf_bk/article/de ...