
今天想要写一个多进程的python脚本上传代码至服务器,于是在本地用虚拟机测试了一下,可总是报错,具体报错信息如下
Traceback (most recent call last):File "D:python3.6.7libmultiprocessingprocess.py", line 258, in _bootstrapself.run()File "D:python3.6.7libmultiprocessingprocess.py", line 93, in runself._target(*self._args, **self._kwargs)File "D:Documentseducation-serverfabfile.py", line 88, in uploadsftp.put(local_path, target_path, confirm=True)File "D:python3.6.7libsite-packagesparamikosftp_client.py", line 759, in putreturn self.putfo(fl, remotepath, file_size, callback, confirm)File "D:python3.6.7libsite-packagesparamikosftp_client.py", line 717, in putforeader=fl, writer=fr, file_size=file_size, callback=callbackFile "D:python3.6.7libsite-packagesparamikoutil.py", line 301, in __exit__self.close()File "D:python3.6.7libsite-packagesparamikosftp_file.py", line 82, in closeself._close(async_=False)File "D:python3.6.7libsite-packagesparamikosftp_file.py", line 104, in _closeself.sftp._request(CMD_CLOSE, self.handle)File "D:python3.6.7libsite-packagesparamikosftp_client.py", line 813, in _requestreturn self._read_response(num)File "D:python3.6.7libsite-packagesparamikosftp_client.py", line 843, in _read_responset, data = self._read_packet()File "D:python3.6.7libsite-packagesparamikosftp.py", line 205, in _read_packetraise SFTPError("Garbage packet received")
paramiko.sftp.SFTPError: Garbage packet received 网上搜索了半天也没有找到答案,直到看到这个才想起来自己的虚拟机linux好像在~/.bashrc中设置了一个时间同步的后台进程,每次进入linux终端都会同步一次时间
于是注释掉了这个配置,再次运行就OK了。
... ... ...
TypeError: can't pickle _thread.lock objects 这个问题的原因是因为我在多进程运行函数中传递了自定义对象参数导致的,只需把自定义对象写入函数中即可
修改前
p1 = Process(target=ssh_obj.upload, args=("192.168.129.10", "admin", "aa.jar", "/root/aa.jar")) 修改后
p1 = Process(target=upload, args=("192.168.129.10", "admin", "aa.jar", "/root/aa.jar")) # 重写一个函数,将对象放入函数中
转载于:.html
本文发布于:2024-03-11 16:19:36,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/1710557621142282.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
| 留言与评论(共有 0 条评论) |