首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >子进程返回None这对我的fuzzer意味着什么

子进程返回None这对我的fuzzer意味着什么
EN

Stack Overflow用户
提问于 2020-01-10 01:08:16
回答 1查看 62关注 0票数 0

为了上学,我得做个引信,我用查尔米勒来引信pdf文件。我想检查一个应用程序的失败量。当我这样做的时候

代码语言:javascript
复制
result = process.communicate()
    print(result)

它会打印(None,None)几次,这是什么意思?

EN

回答 1

Stack Overflow用户

发布于 2020-01-10 01:18:16

这意味着在创建subprocess.Popen对象时,没有指定stdout=PIPEstderr=PIPE

打开。communicate(input=None,timeout=None)

与进程交互:将数据发送到标准输入。从stdout和stderr...读取数据...

communicate()返回一个元组(stdout_data,stderr_data)。..。

请注意,如果要将数据发送到进程的标准输入,则需要使用stdin=PIPE创建Popen对象。类似地,要在结果元组中获得None stdout=PIPE 以外的任何内容,您需要提供None和/或 stderr=PIPE 。也添加了。

- subprocess - Subprocess Management - Python 3 Documentation

例如:

代码语言:javascript
复制
import subprocess
apples_only = subprocess.Popen(
    ["grep", "apple"], 
    stdin=subprocess.PIPE, 
    stdout=subprocess.PIPE,
)
out, err = apples_only.communicate(b"pear\napple\nbanana\n")

print((out, err))
# (b'apple\n', None)  # did not say stderr=PIPE so it's None.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59668979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档