精华内容
下载资源
问答
  • 1、注意:pool必须在 if __name__ == '__main__' 下面运行,不然会报错2、多进程内出现错误会直接跳过该进程,并且默认不会打印错误...但是全局变量值不能在多进程里面进行修改。代码如下from multiprocessing im...

    1、注意:pool必须在 if __name__ == '__main__' 下面运行,不然会报错

    2、多进程内出现错误会直接跳过该进程,并且默认不会打印错误信息

    3、if__name__下面的数据需要通过参数传入主函数里面,不然主函数获取不到该数据值而报错。

    4、若不通过传参形式传入数据,可以定义全局变量。但是全局变量的值不能在多进程里面进行修改。

    代码如下

    from multiprocessing import pool # 进程池,用于多进程

    import os # 用于获取当前执行的文件名

    import time

    import traceback # 用于捕获异常

    import sys # 用于捕获异常

    def main_func(i): # 多进程运行的函数

    try: # 多进程中发生异常是不会打印错误信息,并且当前进程会直接跳过,所以异常需要自行捕获

    rand_time = random.randint(1, 3) # 随机产生1~3的整数

    time.sleep(rand_time )

    print(i)

    except:

    current_filename = str(os.path.basename(sys.argv[0]))[:-3] # 获取当前文件名称

    cur_err_filname = current_filename + '_error.txt'

    error_info = sys.exc_info() # 打印异常

    with open(f'{cur_err_filname }', 'a') as f:

    error_str = f'{i}:error occurred,{time.strftime("%y-%m-%d %h:%m:%s")}:\n {error_info[0]}: {error_info[1]}' # 记录当前进程特征值,错误发生时间 ,错误类型,错误概述

    print(error_str, file=f) # 通过打印方式写入文件

    traceback.print_tb(error_info[2], file=f) # 错误细节描述(包括bug的代码位置)

    f.write(f"{'=' * 50}\n") # 分行

    if __name__ == '__main__': # 必须在此语句下面运行,不然会报错

    pool = pool(5) # 定义进程数量

    for i in range(20):

    pool.apply_async(main_func, (i, )) # 调用函数执行多进程

    pool.close() # 关闭进程池

    pool.join() # 阻塞进程,此两部不能少,保证多进程正常运行

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

    如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

    展开全文
  • 本篇文章小编给大家分享一下注意:pool必须在 if __name__ == ‘__main__’ 下面运行,不然会报错多进程内出现错误会直接跳过该进程,并且...但是全局变量值不能在多进程里面进行修改。代码如下from multiprocessi...

    本篇文章小编给大家分享一下

    注意:pool必须在 if __name__ == ‘__main__’ 下面运行,不然会报错

    多进程内出现错误会直接跳过该进程,并且默认不会打印错误信息

    if__name__下面的数据需要通过参数传入主函数里面,不然主函数获取不到该数据值而报错。

    若不通过传参形式传入数据,可以定义全局变量。但是全局变量的值不能在多进程里面进行修改。

    代码如下

    from multiprocessing import Pool # 进程池,用于多进程 import os # 用于获取当前执行的文件名 import time import traceback # 用于捕获异常 import sys # 用于捕获异常 def main_func(i): # 多进程运行的函数 try: # 多进程中发生异常是不会打印错误信息,并且当前进程会直接跳过,所以异常需要自行捕获 rand_time = random.randint(1, 3) # 随机产生1~3的整数 time.sleep(rand_time ) print(i) except: current_filename = str(os.path.basename(sys.argv[0]))[:-3] # 获取当前文件名称 cur_err_filname = current_filename + '_error.txt' error_info = sys.exc_info() # 打印异常 with open(f'{cur_err_filname }', 'a') as f: error_str = f'{i}:ERROR OCCURRED,{time.strftime("%Y-%m-%d %H:%M:%S")}:n {error_info[0]}: {error_info[1]}' # 记录当前进程特征值,错误发生时间 ,错误类型,错误概述 print(error_str, file=f) # 通过打印方式写入文件 traceback.print_tb(error_info[2], file=f) # 错误细节描述(包括bug的代码位置) f.write(f"{'=' * 50}n") # 分行 if __name__ == '__main__': # 必须在此语句下面运行,不然会报错 pool = Pool(5) # 定义进程数量 for i in range(20): pool.apply_async(main_func, (i, )) # 调用函数执行多进程 pool.close() # 关闭进程池 pool.join() # 阻塞进程,此两部不能少,保证多进程正常运行

    http://www.dengb.com/PHPjc/1403556.htmlwww.dengb.comtruehttp://www.dengb.com/PHPjc/1403556.htmlTechArticlePython基于进程池实现多进程过程代码解析 本篇文章小编给大家分享一下Python基于进程池实现多进程过程代码解析,文章代码介绍的很详细,…

    —-想了解更多的

    本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

    如若转载,请注明出处:https://www.ssfiction.com/phpjc/106919.html

    展开全文
  • 2019独角兽企业重金招聘Python工程师标准>>> ...

    sys模块封装了一些进程停止、重新运行的函数,在应用升级、降级的时候都会有效。

    sys模块使用get_state/1, get_state/2,get_status/1,get_status/2可以快速获取进程的状态信息,简单方便。

    转载于:https://my.oschina.net/u/191928/blog/735047

    展开全文
  • 但是全局变量值不能在多进程里面进行修改。 代码如下 from multiprocessing import Pool # 进程池,用于多进程 import os # 用于获取当前执行文件名 import time import traceback # 用于捕获异常 import sy
  • 我们生产系统是debian7.4里面Python3.4 一开始直接 pip3 install psutil 直接报错,经验告诉我,需要降低版本,就跟当时安装pymysql一个道理 然后搜索文章获得可用版本安装 pip3 install psutil==2.1.3 #指定

    psutil可以用来做系统监控,性能分析,进程管理。 支持的系统有Linux, Windows, OSX, FreeBSD and Sun Solaris,32和64位系统都支持,同时支持pyhton2.4到3.4。最高版本是5.8.0

    我们生产系统是debian7.4里面是Python3.4
    一开始直接

    pip3 install psutil
    

    直接报错,经验告诉我,需要降低版本,就跟当时安装pymysql一个道理
    然后搜索文章获得可用版本安装

    pip3 install psutil==2.1.3 #指定版本安装
    

    欧克了 没毛病
    然后上代码

    import psutil
    
    def get_disk_list():
        hd = {}
        for id in psutil.disk_partitions():
            disk_info = psutil.disk_usage(id.mountpoint)
            hd['mount_pointer'] = id.mountpoint
            hd['total'] = int(disk_info.total / 1024)
            hd['used'] = int(disk_info.used / 1024)
            hd['free'] = int(disk_info.free / 1024)
            hd['percent'] = disk_info.percent
            print(hd)
    
    get_disk_list()
    

    这特么也是一点点调试出来的 ,也不容易,得出的结果和linux里的df -k一毛一样的
    然后结果
    python3 test.py

    {'used': 195074260, 'mount_pointer': '/', 'free': 67044672, 'total': 276146400, 'percent': 70.6}
    {'used': 1880894916, 'mount_pointer': '/data/00', 'free': 3179325468, 'total': 5328775068, 'percent': 35.3}
    {'used': 2053082908, 'mount_pointer': '/data/01', 'free': 3007136772, 'total': 5328774328, 'percent': 38.5}
    {'used': 2371848832, 'mount_pointer': '/data/02', 'free': 2688371820, 'total': 5328775352, 'percent': 44.5}
    {'used': 2047885512, 'mount_pointer': '/data/03', 'free': 3010757056, 'total': 5327113504, 'percent': 38.4}
    

    df -k的结果

    df -k
    Filesystem                                              1K-blocks       Used  Available Use% Mounted on
    /dev/disk/by-uuid/82cbf312-360d-4625-a841-9007f44d8997  276146400  195061036   67057896  75% /
    /dev/sdb1                                              5328775068 1880844752 3179375632  38% /data/00
    /dev/sdb2                                              5328774328 2053042816 3007176864  41% /data/01
    /dev/sdb3                                              5328775352 2371810592 2688410060  47% /data/02
    /dev/sdb4                                              5327113504 2047684268 3010958300  41% /data/03
    

    参考文档

    https://blog.csdn.net/xm_csdn/article/details/76947774
    
    展开全文
  • psutil是一个跨平台库,可以很轻松为我们实现获取系统运行的进程和资源利用率等信息。 功能:主要是为了系统监控 安装: 如果你对python感兴趣,我这有个学习Python基地,里面有很多学习资料,感兴趣+Q群:...
  • psutil是一个跨平台库,可以很轻松为我们实现获取系统运行的进程和资源利用率等信息。 功能:主要是为了系统监控 安装: 如果你对python感兴趣,我这有个学习Python基地,里面有很多学习资料,感兴趣+Q群:...
  • python爬取

    2019-10-17 13:14:22
    有些房子居然没有写地址,这房还怎么租。...这里总共获取了300多条信息,下一步应该考虑把这些信息存储在mongdb里面,并且采用多进程在加速爬取速度。 import requests,time from bs4 import Beautiful...
  • 监测U盘后台(Python

    千次阅读 2019-02-03 14:45:32
    psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要用来做系统监控,性能分析,进程管理。 如果没有psutil这个包可以在cmd(win+R,...
  • 创建多个进程,将队列引用当做实参进行传递到里面 p1 = multiprocessing.Process(target=download_from_web, args=(q,)) p2 = multiprocessing.Process(target=analyse_data, args=(q,)) p1.start() ...
  • Scrapy Engine:多进程代码,提供并发支持。已经实现好,不需要修改。...Spiders(蜘蛛):获取到了Response之后,需要定位具体信息。需要自己写。 item pipeline(项目管道):存储或者是急需处理具体
  • 通过process对象获取和控制Node自身进程的各种信息。另外process是一个全局对象,在任何地方都可以直接使用。 部分属性 - process.pid 进程pid - process.versions node、v8、ssl、zlib等组件版本 - process...
  • 在数学里面,我们都知道,除数是不能为0,在Python里面也是一样,所以,以下语句是有问题result=1/0当我们运行这个语句,会得到一个报错信息这个报错就是一个异常。除此之外,如果之前学习过程中有实际敲...
  • 其中,用户微博只获取了内容、赞个数、转发和评论个数等等,而没有具体去获取此微博被转发和评论内容。generic(unstable):通用爬虫,只需配置,而无需修改代码。目前Cola实现了一个抽取器(cola/core /...
  • 当然,如果想参与Cassandra 的开发或做更深入的工作,还需要直接通过源代码来获取更详尽的信息。  在翻译中,我尽力使用已有的、被广泛接受的名词或是术语,对于一些译法没有被广泛接受的术语,在不产生歧义的前提...
  • PERL语言编程

    2007-06-24 11:55:48
    不过,随后 Perl 就开始风行,于是它就成了可以操作文件系统,进程管理,数据库管理,进行 C/S 编程和安全编程,web 信息管理,甚至可以进行面向对象和面向功能编程语言。而且这些功能并非只是在 Perl 这边,每...
  • 2.2.9 A,B,C,D四个进程,A向buf里面写数据,B,C,D向buf里面读数据,当A写完,且B,C,D都读一次后,A才能再写。用P,V操作实现。 2.3.0 将单向链表reverse,如ABCD变成DCBA,只能搜索链表一次。 2.3.1 将二叉树...
  • 1、Perl版的配置文件与bash版的有区别,新增加了一些配置项,也有减少的,也有些配置项改了更合适的名称,请按照配置文件里面的说明对应的设置,并把原来配置文件最下面的device_code,refresh_token,access_token,...
  • 接下来我们来获取视频播放量等信息: from bilibili_api import video v = video.get_video_info(bvid="BV1uv411q7Mv") print(v) 输出(已格式化,已省略部分): { "bvid": "BV1uv411q7Mv", "aid": 243922477,...
  • 在命令行输入,gradlew compileDebugSources,可以查看打印报错的信息,这句话可以控制台输出代码报错的日志。 IOException: CreateProcess error=2, 系统找不到指定的文件。 具体报错日志如下所示 ...
  • 树莓派3B+语音无输出

    2021-01-06 16:02:28
    其实这里面可以延伸出来两个问他 Q 1: 如何自定义选择播放设备, 能够自由控制从那个音频口出音频 Q 2: 只有录音开始,结束有声音是什么问题呢? 通过官方提供资料, 给音频...
  • Linux Command ...你也可以通过 Github Raw 来,获取最新内容 # 命令索引 JSON 数据 https://raw.githubusercontent.com/jaywcjlove/linux-command/master/dist/data.json # 对应命令详情(Markdown)数据 ...

空空如也

空空如也

1 2
收藏数 29
精华内容 11
关键字:

获取python进程里面的信息

python 订阅