ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

使用subprocess多进程参考样例

2022-03-05 01:02:07  阅读:261  来源: 互联网

标签:run 参考 stdin 样例 subprocess input proc procs


import subprocess
import os


def run_openssl(data):
    """用openssl加密data"""
    env=os.environ.copy()
    env['password']=b'\xe24U\n\xd0Q13s\x11'
    proc=subprocess.Popen(['openssl','enc','-des3','-pass','env:password'],env=env,stdin=subprocess.PIPE,
                          stdout=subprocess.PIPE)
    proc.stdin.write(data)
    proc.stdin.flush()
    return proc

def run_md5(input_stdin):
    """计算input_stdin的md5值"""
    proc=subprocess.Popen(['md5sum'],stdin=input_stdin,stdout=subprocess.PIPE)
    return proc


input_procs=[]
hash_procs=[]
for _ in range(3):
    data=os.urandom(10)
    proc=run_openssl(data)
    input_procs.append(proc) #添加run_openssl进程到input_procs
    hash_proc=run_md5(proc.stdout)
    hash_procs.append(hash_proc) #添加run_md5进程到hash_procs
    
for proc in input_procs:
    proc.communicate() #多进程运行run_openssl结果
for proc in hash_procs:
    out,err=proc.communicate()#多进程计算md值
    print(out.strip())
    

 

标签:run,参考,stdin,样例,subprocess,input,proc,procs
来源: https://www.cnblogs.com/ZhenghuiLyu/p/15966819.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有