子进程命令的实时输出状态错误:对已关闭文件Python的I / O操作

Darshan Mahalinge Gowda

我正在编写一个脚本,以使用subprocess.Popen获取netstat状态。

cmd = 'netstat -nlpt | grep "java" | grep -v tcp6'

result1 = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, universal_newlines=True )
stdout, stderr=result1.communicate()

for line in iter(result1.stdout):
    print(line)

上面给出了ValueError:对关闭文件的I / O操作。有什么方法可以获取实时流输出。子流程命令的实时输出中,他们在这里使用写入和读取行,我只需要打印实时状态,请有人帮助我解决此问题。谢谢!

米兰巴拉兹

由于要在stdout文件描述符上进行迭代时已经关闭文件描述符,因此出现此错误我写了一个工作版本。该实现可以实时提供被调用命令的输出。

码:

import sys
import subprocess

cmd = 'netstat -nlpt | grep "java" | grep -v tcp6'

result1 = subprocess.Popen(
    cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, universal_newlines=True
)

while True:
    out = result1.stdout.read(1)
    if out == "" and result1.poll() is not None:
        break
    if out != "":
        sys.stdout.write(out)
        sys.stdout.flush()

输出:

>>> python3 test.py
tcp        0      0 127.0.0.1:6943          0.0.0.0:*               LISTEN      239519/java         
tcp        0      0 127.0.0.1:63343         0.0.0.0:*               LISTEN      239519/java  

   

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ValueError:对关闭的文件进行I / O操作

I / O操作如何阻止?

凯拉斯。ValueError:在关闭的文件上的I / O操作

下载数据集时出现此错误:ValueError:对已关闭文件的I / O操作

对关闭文件的I / O操作:Django Imagekit&Pillow

python:ValueError:对已关闭文件的I / O操作

使用input()对关闭的文件进行I / O操作

ValueError:上下文管理器范围内对已关闭文件的I / O操作

python3:fileno()在关闭文件错误时引发I / O操作

openpyxl:ValueError:在关闭的文件上的I / O操作

flask ValueError:对已关闭文件的I / O操作

ValueError:打开文件后对关闭的文件进行I / O操作

多线程使我收到“ ValueError:对已关闭文件的I / O操作”错误。为什么?

Python Socket Makefile错误对关闭文件的I / O操作

使用pandas.read_csv()与csv.reader()冲突-ValueError:对已关闭文件的I / O操作

ValueError:对关闭的文件进行I / O操作(不应关闭文件)

关闭文件错误的I / O操作

在python中写入文本文件时发生错误[关闭文件的I / O操作]

CSV阅读器对象获取ValueError:对已关闭文件的I / O操作?

值错误:对已关闭文件的I / O操作

I / O操作性能

带上载文件的烧瓶重定向-已关闭文件的I / O操作

Python 错误:Python ValueError:已关闭文件上的 I/O 操作

我的输出显示值错误:已关闭文件上的 I/O 操作。Python

为什么我运行代码时出现这个错误?错误=关闭文件上的 I/O 操作

ValueError:已关闭文件的 I/O 操作。-- For 循环

python:获取ValueError:关闭文件上的I/O操作

为什么我的文件关闭并导致第 51 行出现“已关闭文件上的 I/O 操作”错误?

如何修复关闭文件的 I/O 操作?