subprocess

一、subprocess介绍

subprocess 是用于开启子进程

子进程指的是由另一个进程开启的进程

为什么开启子进程:当一个程序在运行进程中有一个任务自己做不了或者不想做,就可以开启另一个程序来协助完成任务

 

内存中,每一个进程的内存区域时相互隔离的不能直接访问,所以需要管道来进行通讯

二、用例

import subprocess

# 指定一个输出管道   # 三个管道
stdout = subprocess.PIPE
# shell = True 是否是指令还是文件
p = subprocess.Popen("dir",shell = True,stdout = subprocess.PIPE)  # subprocess.PIPE为常量 -1
# 从管道中读取运行结果
result = p.stdout.read().decode("UTF8")
# print(result)

# 案例
# tasklist | findstr python  # 先执行tasklist把结果交给findstr来处理
p1 = subprocess.Popen("tasklist",shell=True,stdout=subprocess.PIPE)   # shell = True 是一个指令,否则为一个文件
p2 = subprocess.Popen("findstr QQ",shell=True,stdin=p1.stdout,stdout=subprocess.PIPE,stderr=subprocess.PIPE)

print(p2.stdout.read())  # b'QQProtect.exe   7120 Services      0     10,216 K\r\nQQ.exe      7184 Console
print(p2.stderr.read())    # b''

 

posted on 2020-09-22 16:41  软饭攻城狮  阅读(729)  评论(0编辑  收藏  举报

导航