fork炸弹】的更多相关文章

众所周知,bash是一款极其强大的shell,提供了强大的交互与编程功能.这样的一款shell中自然不会缺少“函数”这个元素来帮助程序进行 模块化的高效开发与管理.于是产生了由于其特殊的特性,bash拥有了fork炸弹.Jaromil在2002年设计了最为精简的一个fork炸弹的实 现. 所谓fork炸弹是一种恶意程序,它的内部是一个不断在fork进程的无限循环,fork炸弹并不需要有特别的权限即可对系统造成破坏.fork炸 弹实质是一个简单的递归程序.由于程序是递归的,如果没有任何限制,这会导…
Jaromil 在 2002 年设计了最为精简的一个Linux Fork炸弹,整个代码只有13个字符,在 shell 中运行后几秒后系统就会宕机: :(){:|:&};: 这样看起来不是很好理解,我们可以更改下格式: :() { :|:& }; : 更好理解一点的话就是这样: bomb() { bomb|bomb& }; bomb 因为shell中函数可以省略function关键字,所以上面的十三个字符是功能是定义一个函数与调用这个函数,函数的名称为:,主要的核心代码是:|:&am…
一段古老的Linux shell程序 :() { :|:& };: 这是bash shell的写法,首先定义了一个函数:(),花括号里面是函数体,这里递归执行函数本身,通过管道在后台再递归运行一次本程序,最后的冒号就是立刻执行当前这个函数.这样一直运行下去,直到系统崩溃,这就是fork炸弹. 第一个冒号:代表函数名,Linux shell脚本函数格式: fname (), 则:代表fname 大括号{}, 包含函数体,是保留字,与函数体之间必须由空格分隔 第二个:,执行函数,什么也不做,通过|:…
原文出处: saymagic Jaromil 在 2002 年设计了最为精简的一个Linux Fork炸弹,整个代码只有13个字符,在 shell 中运行后几秒后系统就会宕机: ::(){:|:&};: 这样看起来不是很好理解,我们可以更改下格式: :() { :|:& }; : 更好理解一点的话就是这样: bomb() { bomb|bomb& }; bomb 因为shell中函数可以省略function关键字,所以上面的十三个字符是功能是定义一个函数与调用这个函数,函数的名称为…
学习bash脚本看到一段代码(老鸟应该知道)挺有意思,一时看不懂.该命令不需要管理员即可运行,请不要在你的机器上使用以下脚本,否则你知道你在干什么 :() { :|: & };: 参考链接:https://www.geeksforgeeks.org/fork-bomb/ 大致是定义了个冒号的函数:() {:|: &} 表示运行这个函数并把它作为管道送到后台再运行(递归),最后一个冒号表示立即执行,然后他这个函数会一直地生成新的进程,最终形成拒绝服务攻击,直到把系统资源耗尽,你只能关机了.…
#!/bin/bash#快速消耗计算机资源,致使计算机死机#定义函数名为.(点), 函数中递归调用自己并放入后台执行.() {.|.& };.…
#!bin/bash#功能:快速消耗计算机资源,致使计算机死机#作者:liusingbon#定义函数名为.(点), 函数中递归调用自己并放入后台执行function . { .|.& };.…
fork函数介绍 一个现有进程可以调用fork函数创建一个新进程.该函数定义如下: #include <unistd.h> pid_t fork(void); // 返回:若成功则在子进程中返回0,在父进程中返回子进程ID,若出错则返回-1 fork函数调用一次,返回两次.它在调用进程(称为父进程)中返回一次,返回值是新派生进程(称为子进程)的进程ID号:在子进程中返回一次,返回值为0.因此,返回值本身告知当前进程是子进程还是父进程. fork在子进程返回0而不是父进程的进程ID的原因在于:任…
并发:一个处理器同时处理多个任务. 并行:多个处理器或者是多核的处理器同时处理多个不同的任务. fork创建子进程 import os import time #fork出一个子进程,子进程也从这一行开始执行 ret = os.fork() if ret == 0: while True: print("---1---") time.sleep(1) else: while True: print("---2---") time.sleep(1) 输出 ---2--…
多任务理解 单核cpu完成多个cpu的切换 时间片轮转 优先级调度 并发看上去一起执行 并行一起执行 调度算法 什么样的情况下用什么样的规则让谁去执行. 一般情况下电脑都是并发的 进程的创建-fork 进程VS程序 编写完毕的代码,在没有运行的时候,称为程序 正在运行的代码,称为进程 进程,除了包含代码以外,还有需要运行的环境,所以和程序是有区别的 fork() fork创建一个进程,ret大于0是父进程,不确定返回几,ret等于0是子进程 在linux系统下(centos)才能执行,windo…
# 注意,fork函数,只在Unix/Linux/Mac上运行,windows不可以 1.如下程序,来模拟“唱歌跳舞”这件事情 #-*- coding:utf-8 -*- import time def sing(): """唱歌3次,每次休息1s""" for i in range(3): print("he is singing..%s."%i) time.sleep(1) def dance(): ""…
导读 每个 Linux 系统管理员都应该知道如何验证硬件.资源和主要进程的完整性和可用性.另外,基于每个用户设置资源限制也是其中一项必备技能. 在这篇文章中,我们会介绍一些能够确保系统硬件和软件正常工作的方法,这些方法能够避免潜在的会导致生产环境下线或钱财损失的问题发生. 报告 Linux 进程统计信息 你可以使用 mpstat 单独查看每个处理器或者系统整体的活动,可以是每次一个快照或者动态更新. 为了使用这个工具,你首先需要安装 sysstat: # yum update && yum…
shell实例手册 0 说明{ 手册制作: 雪松} 1 文件{        ls -rtl                 # 按时间倒叙列出所有目录和文件 ll -rt    touch file              # 创建空白文件    rm -rf 目录名           # 不提示删除非空目录(-r:递归删除 -f强制)    dos2unix                # windows文本转linux文本      unix2dos                #…
程序和进程的区别: 1.程序是一种静态资源 程序启动产生进程 2.程序与进程无一一对应原则  进程是动态的一个过程 父进程和子进程在前面提过 前台进程:执行命令时只能等待的进程为前台进程也叫异步进程 后台进程:通过在末尾加上 &  符号,使得shell创建出子进程来执行它,需要重定向到一个文件,返回一个新建的子进程的进程号. 后台进程只能针对非交互进程使用,比如find等 进程状态  等待cpu--就绪    执行   等待交互 w 用户名查看登录用户信息  who所有登录的用户信息 load…
Linux命令是一种很有趣且有用的东西,但在你不知道会带来什么后果的时候,它又会显得非常危险.所以,在输入某些命令前,请多多检查再敲回车. rm –rf rm –rf是删除文件夹和里面附带内容的一种最快捷的方法,但是细微的错误或者语法认知不到位,就可能对系统造成不可恢复的破坏,下面给出一些案例: rm 删除linux下的文件 rm -r 递归删除文件夹,包括空文件夹 rm -f 强制无条件删除只读文件 rm -rf / : 强制无条件删除root目录下所有内容. rm -rf * : 强制无条件…
Ctrl + Alt + T 打开终端, $代表普通用户,#代表超级用户(root user)如:    xiangqi@xiangqi ~$           root@xiangqi ~# echo打印,后可接无引号.单引号.爽引号,方法基本类似,特殊的地方在于:(1)希望打印!时,双引号中需要加转义字符 \ ,如 echo " Hello \!" (在shell中貌似不存在这个问题)(2)用单引号时,比如echo '$var',这时没法对单引号中的变量求值,仅仅打印$var另一…
1. 准备工作 在实际写代码之前,首先我们还是需要做一些准备工作: 下载NDK开发包:Android官方下载页面 配置系统环境变量 下载好NDK开发包之后,直接解压到任意目录,然后需要配置一下系统环境变量,之所以要配置环境变量,是为了方便使用命令ndk-build脚本进行NDK编译.配置参考如下: Windows系统配置 环境变量 PATH 下追加 :D:\ProgramFile\android-ndk-r11c-windows-x86_64; MacOS系统配置 在mac系统下打开终端,输入:…
原文地址:http://hi.baidu.com/quanzhou722/item/f4a4f3c9eb37f02d46d5c0d9 实在是太好的资料了,不得不转 shell实例手册 0说明{ 手册制作: 雪松 更新日期: -- 欢迎系统运维加入Q群: 请使用"notepad++"打开此文档,"alt+0"将函数折叠后方便查阅 请勿删除信息,转载请说明出处,抵制不道德行为. 错误在所难免,还望指正! # shell实例手册最新下载地址: http://hi.baid…
1. rm -rf 命令 rm -rf命令是删除文件夹及其内容最快的方式之一.仅仅一丁点的敲错或无知都可能导致不可恢复的系统崩坏.下列是一些rm 命令的选项. rm 命令在Linux下通常用来删除文件. rm -r 命令递归的删除文件夹,甚至是空的文件夹.(译注:个人认为此处应该是说错了,从常识看,应该是“甚至是非空的文件夹”) rm -f 命令能不经过询问直接删除‘只读文件’.(译注:Linux下删除文件并不在乎该文件是否是只读的,而只是在意其父目录是否有写权限.所以,-f这个参数只是表示不必…
正在运行的内核和系统信息 # uname -a # 获取内核版本(和BSD版本) # lsb_release -a # 显示任何 LSB 发行版版本信息 # cat /etc/SuSE-release # 获取 SuSE 版本 # cat /etc/debian_version # 获取 Debian 版本 使用 /etc/DISTR-release 其中DISTR(发行代号)= lsb (Ubuntu), redhat, gentoo, mandrake, sun (Solaris), 等等.…
转: http://www.tecmint.com/10-most-dangerous-commands-you-should-never-execute-on-linux/ http://www.linuxeden.com/html/news/20131208/146197.html Linux命令行佷有用.很高效,也很有趣,但有时候也很危险,尤其是在你不确定你自己在正 在做什么时候.这篇文章并不打算引来你对Linux或linux 命令行的愤怒.我们只是想让你意识到在你运行某些命令时应该三思而…
https://linux.cn/article-2831-1.html 1. 命令:sl (蒸汽机车) 你可能了解 ‘ls’ 命令,并经常使用它来查看文件夹的内容.但是,有些时候你可能会拼写成 ‘sl’ ,这时我们应该如何获得一些乐趣而不是看见“command not found”呢? 安装 sl root@tecmint:~# apt-get install sl (In Debian like OS) root@tecmint:~# yum -y install sl (In Red Ha…
原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 .作者信息和本声明.否则将追究法律责 1.4 返璞归真的命令行 有一种说法,现代计算机不是靠电力驱动,而是靠“鼠标”.多少应用程序的界面需要移动和点击鼠标来执行的.计算机本来的用意是把人类从反复单调的工作中解放出来,但适得其反,摆在我们身边的残酷现实是我们每个人每天不得不移动和点击鼠标,确保养家糊口的工作能够顺利正确地完成. 别叹气,存在另一个世界,那就是命令行,让你暂时远离鼠标.对那些苦哈哈的程序猿来讲,这也许是另一种情调的工作方式…
原文出处: serverdensity   译文出处:Linux中国 随着互联网行业的不断发展,各种监控工具多得不可胜数.这里列出网上最全的监控工具.让你可以拥有超过80种方式来管理你的机器.在本文中,我们主要包括以下方面: 命令行工具 网络相关内容 系统相关的监控工具 日志监控工具 基础设施监控工具 监控和调试性能问题是一个艰巨的任务,但用对了正确的工具有时也是很容易的.下面是一些你可能听说过的工具,也有可能没有听说过——何不赶快开始试试? 八大系统监控工具1.toptop 这是一个被预装在许…
20个Linux命令及Linux终端的趣事 . 命令:sl (蒸汽机车) 你可能了解 ‘ls’ 命令,并经常使用它来查看文件夹的内容.但是,有些时候你可能会拼写成 ‘sl’ ,这时我们应该如何获得一些乐趣而不是看见“command not found”呢? 安装 sl root@tecmint:~# apt-get install sl (In Debian like OS) root@tecmint:~# yum -y install sl (In Red Hat like OS) 输出 ro…
//头文件包含 #include <stdio.h> #include <sys/types.h> #include <sys/time.h> #include <sys/resource.h> #include <unistd.h> #include <fcntl.h> #include <errno.h> #include <string.h> #include <signal.h> #incl…
随着互联网行业的不断发展,各种监控工具多得不可胜数.这里列出网上最全的监控工具.让你可以拥有超过80种方式来管理你的机器.在本文中,我们主要包括以下方面: 命令行工具 网络相关内容 系统相关的监控工具 日志监控工具 基础设施监控工具 监控和调试性能问题是一个艰巨的任务,但用对了正确的工具有时也是很容易的.下面是一些你可能听说过的工具,也有可能没有听说过——何不赶快开始试试? 八大系统监控工具 1. top 这是一个被预装在许多 UNIX 系统中的小工具.当你想要查看在系统中运行的进程或线程时:t…
随着互联网行业的不断发展,各种监控工具多得不可胜数.这里列出网上最全的监控工具.让你可以拥有超过80种方式来管理你的机器.在本文中,我们主要包括以下方面: 命令行工具 网络相关内容 系统相关的监控工具 日志监控工具 基础设施监控工具 监控和调试性能问题是一个艰巨的任务,但用对了正确的工具有时也是很容易的.下面是一些你可能听说过的工具,也有可能没有听说过——何不赶快开始试试? 八大系统监控工具 1. top 这是一个被预装在许多 UNIX 系统中的小工具.当你想要查看在系统中运行的进程或线程时:t…
shell脚本第一行写明解释器的路径: #!/bin/bash运行脚本两种方式:使用bash命令运行shell文件,或授予脚本文件执行权限,可直接执行文件shell启动时,一开始执行一组命令来定义提问文本.颜色等设置,命令存放在~/.bashrc中登录shell放在~/.bash_profileshell历史记录文件~/.bash_historybash中每个命令或命令序列通过使用分号或换行符来分隔 echo用于终端打印printf 用于终端打印env 查看所有与终端相关的环境变量cat /pr…
linux编程基础汇总贴http://newzol.cn/forum.php?mod=viewthread&tid=67&fromuid=3(出处: newzol) 1.管道 http://newzol.cn/forum.php?mod=viewthread&tid=15&extra=page%3D2 2.基于管道的简单服务器 http://newzol.cn/forum.php?mod=viewthread&tid=14&extra=page%3D2 3.…