gpt4 book ai didi

python - 使用多处理时 paramiko 卡在 _get_channel 处

转载 作者:太空宇宙 更新时间:2023-11-03 17:48:06 26 4
gpt4 key购买 nike

我有以下代码(使用 paramiko 编写),它在多处理过程中被调用

       def traffic(q, e):
e.open()

def open()
assert self.closed
self._channel = self._get_channel()
self.stdin = io.TextIOWrapper(CommandStdIn(self._channel))
self.stdout = self._channel.makefile()
self.stderr = self._channel.makefile_stderr()

q = Queue()
p = Process(target = self.traffic, args = (q, other_args))
p.start()
p.join()

没有多重处理,这工作得很好。但对于多处理,它会停止在

 %paramiko.transport-WARNING: Success for unrequested channel! [??]
%paramiko.transport-ERROR: Channel request for unknown channel 19

它卡在 self._get__channel() 部分。可能是什么原因?

最佳答案

当在另一个进程内建立连接时,子进程会获取与 channel 关联的套接字的副本。发生的情况是,我们有两个对象尝试与单个套接字通信,并且 session 被损坏。在这里解释 Paramiko Sessions Closes Transport in the Child Process和这里 https://github.com/paramiko/paramiko/issues/446

关于python - 使用多处理时 paramiko 卡在 _get_channel 处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29480850/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com