微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

subprocess.Popen 中的 Mendel 开发工具引发套接字错误:[Errno 25]

如何解决subprocess.Popen 中的 Mendel 开发工具引发套接字错误:[Errno 25]

我目前正在使用 mdt(mendel 开发工具 - 一种通过 ssh 用于 google coral board 的通信工具)和 subprocess.Popen 自动化一些事情,但是在第二次调用 mdt 时我总是得到

无法与设备建立 ssh 连接:套接错误:[Errno 25] 设备的 ioctl 不合适。

我怀疑一个套接字保持打开状态,下一次调用无法重用该套接字。但是我不知道如何在调用 subprocess.Popen 时关闭它。

这是我用来调用 mdt 的代码

def execute(command: str) -> Tuple[AnyStr,AnyStr]:
   segmented_command = shlex.split(command)
   process = Popen(segmented_command,stdout=PIPE,stderr=PIPE,universal_newlines=True)
   logging.info("\n".join(output.strip() for output in process.stdout.readlines()))
   stdout,stderr = process.communicate()
   return stdout,stderr

是这样称呼的:

execute("mdt push install_linux_headers_on_board.py .")
execute("mdt exec chmod +x /home/mendel/install_linux_headers_on_board.py")

有没有办法关闭套接字?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。