Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用python创建跨平台的fork()炸弹

使用python创建跨平台的fork()炸弹

作者头像
zhaoolee
发布于 2018-04-19 02:19:47
发布于 2018-04-19 02:19:47
1.7K01
代码可运行
举报
文章被收录于专栏:木子昭的博客木子昭的博客
运行总次数:1
代码可运行

进程炸弹运行截图

这是一个用python实现的最简单的fork炸弹

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import os
while True:
    os.fuck()

但是对于windows系统,是没有fork函数的,幸运的是,python提供了multiprocessing实现了跨平台的方法,对线程进行操作

以下程序仅供学习之用,为避免对系统的造成损伤,已经进行了延时处理

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from multiprocessing import Process
import os
import time
G_boom_num = 1

def boom():
    print("炸弹的进程号为%d"%os.getpid())
    pass
# 主函数
def main():
    global G_boom_num
    while True:
        # 创建一个炸弹(子进程)
        bo = Process(target = boom)
        # 引爆炸弹...
        bo.start()
        # 为炸弹计数
        G_boom_num += 1
        print("创建第%d个炸弹"%G_boom_num)
        # 创建一个炸弹后延时2秒钟,如果想试试进程炸弹的威力,可以把下面这行注释掉...
        time.sleep(2)

# 开启入口,启动主程序
if __name__ == "__main__":
    main()

以上程序使用multiprocessing 创建了跨平台的进程炸弹

进程炸弹通过在主机创建大量无用的进程,消耗大量系统资源,严重时会导致系统关机

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.07.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python3简单实现多任务(多进程篇)第一种:进程池快速创建(适合创建大量进程,简单,推荐!)第二种实现方式(Process创建进程,需要手动管理)第三种实现方式(windows无法使用,只能在类U
python多进程实现多任务 优点:稳定性高;提升程序执行效率 第一种:进程池快速创建(适合创建大量进程,简单,推荐!) image.png from multiprocessing impor
zhaoolee
2018/04/19
1.4K0
Python3简单实现多任务(多进程篇)第一种:进程池快速创建(适合创建大量进程,简单,推荐!)第二种实现方式(Process创建进程,需要手动管理)第三种实现方式(windows无法使用,只能在类U
python网络-多进程(21)
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。---来自百度百科
Se7eN_HOU
2019/09/11
5170
python网络-多进程(21)
Python中的并发之多进程的讲解
在Python的并发变成中,由于GIL的限制,多线程无法很好的应对计算密集型的并发情况,这时候就需要使用多进程的方法进行解决。
泽霖
2023/11/26
4170
python中进程的几种创建方式
multiprocessing模块提供了一个Process类来代表一个进程对象,下面的例子演示了启动一个子进程并等待其结束:
Python学习者
2023/07/06
2750
Python进程学习
Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。
py3study
2020/01/08
5430
Python的进程
Python实现多进程的方式主要有两种:一种方法是使用os模块中的fork方法; 另一种是使用multiprocessing模块。这两种方法的区别在于前者仅适用于Unix/Linux操作操作。对win是不支持的,而后者则是跨平台的实现方式。
龙哥
2018/10/22
6680
python3多进程实现
python多进程的主要方式有两种,一种是使用os模块的fork方法,另一种方法是使用multiprocessing模块,这两种方法的就别在于前者仅适用于Unix/Linux操作系统,后者是跨平台的实现方式
py3study
2020/01/10
3630
Python自学成才之路 多进程开发
在python中可以通过os.fork()创建子进程,但是这种方式只能在linux,unix,mac下面使用,不能跨平台,所以一般不推荐使用这种方式。Python提供了一个multiprocessing模块来创建多进程,这种方式写起来更简单,且支持跨平台,一般推荐使用multiprocessing模块来创建多线程。
我是李超人
2020/09/07
2880
Python | Python学习之多进程详解
我们经常迷惑于多进程和多线程,长的好像一样,但是他们有本质上的区别,很多大佬也对进程和线程的概念做了很多通俗易懂的解释,这里我们引用阮一峰老师的博文,大家可以先去看看,理清楚线程和进程的区别。
咸鱼学Python
2019/10/09
1.1K0
【python进阶】深入理解系统进程2
前言 在上一篇【python进阶】深入理解系统进程1中,我们讲述了多任务的一些概念,多进程的创建,fork等一些问题,这一节我们继续接着讲述系统进程的一些方法及注意点 multiprocessing 如果你打算编写多进程的服务程序,Unix/Linux⽆疑是正确的选择。由于 Windows没有fork调⽤,难道在Windows上⽆法⽤Python编写多进程的程 序? 由于Python是跨平台的,⾃然也应该提供⼀个跨平台的多进程⽀持。 multiprocessing模块就是跨平台版本的多进程模块。 multi
Angel_Kitty
2018/06/14
6850
Python基础(16)——进程&线程
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。 狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed)。 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。 第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。 第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时(操作系统执行之),它才能成为一个活动的实体,我们称其为进程。[3] 进程是操作系统中最基本、重要的概念。是多道程序系统出现后,为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律引进的一个概念,所有多道程序设计操作系统都建立在进程的基础上。
羊羽shine
2019/05/28
3660
Python 3 多进程
进程指的是正在进行的一个过程或者一个任务,而执行这个任务的是CPU。进程与程序的区别,可以理解为程序是我们写的一堆代码,而进程则是CPU执行这堆代码的过程,同一个程序被执行两次,就会产生两个进程。凡是硬件,都需要有操作系统进行管理,只要是操作系统,就会有进程概念,需要有创建进程的方式。进程的三种状态:
用户6184845
2019/10/16
1K0
Python 3 多进程
Python(十)
Python 既支持多进程,又支持多线程,本篇,我们看看如何编写这两种多任务程序。
1ess
2021/11/01
3510
Python 使用 os.fork() 创建子进程
Linux 操作系统提供了一个 fork() 函数用来创建子进程,这个函数很特殊,调用一次,返回两次,因为操作系统是将当前的进程(父进程)复制了一份(子进程),然后分别在父进程和子进程内返回。子进程永远返回0,而父进程返回子进程的 PID。我们可以通过判断返回值是不是 0 来判断当前是在父进程还是子进程中执行。 在 Python 中同样提供了 fork() 函数,此函数位于 os 模块下。 下面是一个例子 import os import time print "Before fork process p
kongxx
2018/05/14
1.9K0
Python 学习之进程与线程 「 上 」
进程:对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器(任务)就是启动一个浏览器进程。进程是系统中程序执行和资源分配的基本单位,每个进程都有自己的数据段、代码段和堆栈段。
Python技术与生活认知的分享
2018/08/16
3150
Python 学习之进程与线程 「 上 」
python 进程
[chaoge@localhost ~]$ line19:fork进程0,PID=1628,父PID=1
py3study
2020/01/09
7610
python进程回顾
pro = multiprocessing.Process(target=入口, args=(), kwargs={})
小闫同学啊
2019/07/18
6240
python3--中的进程操作--multiprocess模块
运行中的程序就是一个进程。所有的进程都是通过它的父进程来创建的。因此,运行起来的python程序也是一个进程,那么我们也可以在程序中再创建进程。多个进程可以实现并发效果,也就是说,当我们的程序中存在多个进程的时候,在某些时候,就会让程序的执行速度变快。以我们之前所学的知识,并不能实现创建进程这个功能,所以我们就需要借助python中强大的模块。
py3study
2018/08/02
1.3K0
python3--中的进程操作--multiprocess模块
Python多进程原理与实现
进程就是一个程序在一个数据集上的一次动态执行过程。进程一般由程序、数据集、进程控制块三部分组成。我们编
软件架构师Michael
2022/03/10
5020
python进程模块
然后还有一个os.fork函数,可以调用系统api并且创建子进程。但是fork在Windows上并不存在,在Linux和Mac可以成功使用。因为手头没有Linux的机器,就没尝试这个。
灯珑LoGin
2022/10/31
3250
相关推荐
Python3简单实现多任务(多进程篇)第一种:进程池快速创建(适合创建大量进程,简单,推荐!)第二种实现方式(Process创建进程,需要手动管理)第三种实现方式(windows无法使用,只能在类U
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验