我在 Windows 7 机器上使用 python 2.7.2。
我的代码:
from multiprocessing import Process
def dummy_ftp_server(local_interface, username, password, homedir, perms):
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
authorizer = DummyAuthorizer()
authorizer.add_user(username, password, homedir, perm=perms)
handler = FTPHandler
handler.authorizer = authorizer
server = FTPServer((local_interface, 21), handler)
server.serve_forever()
process = Process(target=dummy_ftp_server, args=('127.0.0.1', 'user', 'pass', "C:/path/test", 'elradfmw'))
process.start()
当尝试使用multiprocessing.process
我运行 ftp 服务器时出现此错误
回溯(最后一次调用):文件“C:\path\test_ftp.py”,第 18 行,在 dummy_ftp_server
server = FTPServer((local_interface, 21), handler)
文件“C:\Python27\lib\site-packages\ pyftpdlib\servers.py”,第 145 行,在init self._af = self.bind_af_unspecified(address_or_socket)
文件“C:\Python27\lib\site-packages\pyftpdlib\ioloop.py”,第 733 行,在 bind_af_unspecified 提升套接字中。 error(err)
错误:[Errno 10048] 每个套接字地址(协议/网络地址/端口)通常只允许使用一次
如果我在不使用multiprocessing.process
的情况下运行它
dummy_ftp_server('127.0.0.1', 'user', 'pass', "C:/path/test", 'elradfmw')
它工作正常。
在linux机器上我没有这个问题。