首页 > 编程语言 > 详细

python 子进程管道传递

时间:2020-03-12 17:41:36      阅读:54      评论:0      收藏:0      [点我收藏+]

netstat   ano |findstr 8080  ,python subprocess 管道使用:

技术分享图片

 

 

import subprocess
import threading
def demo(iter_list, if_child=True):
    if not if_child:
        sub = subprocess.Popen(iter_list, shell=True, stdin=subprocess.PIPE,
                               stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
        stdout, stderr = sub.communicate()
        if sub.returncode == 0:
            print("正常输出为:", stdout)
            print("code 为:", sub.returncode)
        else:
            print("stderr is :", stderr)
    else:
        p1 = subprocess.Popen(iter_list[0], shell=False,
                              stdout=subprocess.PIPE, universal_newlines=True, stderr=subprocess.PIPE)

        p2 = subprocess.Popen(iter_list[1], shell=False, stdin=p1.stdout,
                              stdout=subprocess.PIPE, universal_newlines=True)
        stdout, stderr = p2.communicate()
        if p2.returncode == 0:
            print("正常输出为:", stdout)
            print("code 为:", p2.returncode)
        else:
            print("stderr is :", stderr)
if __name__ == ‘__main__‘:
    arg_list = [[["netstat", "-ano"], ["findstr", "8080"]] for i in range(2)]
    # a=["netstat -ano|findstr 8080" for m in range(4)]
    pool = [threading.Thread(target=demo, args=(i,)) for i in arg_list]
    for th in pool:
        th.start()
    for t in pool:
        t.join()

  

python 子进程管道传递

原文:https://www.cnblogs.com/SunshineKimi/p/12469998.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!