发现问题
几天前做基于tornado的web系统的时候,启动系统后发现无法访问,而且监听特定端口只能同时开启一个进程的web程序居然能开启无限多个,使用netstat -ano |grep 端口号
发现web程序根本没有占用端口,说明程序根本没有启动成功,在程序中打断点也没有反应,最后发现程序在import一个文件后就直接挂起了。
这个文件定义了几个控制器类,其开始部分有这样几行代码
import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy)
client.connect(srv['hostname'], srv['port'], srv['username'], srv['password'])
clients.append(client)
经过调试,在执行client.connect()
之后进程就挂起了,下面的代码都无法执行,整个系统就在这里停住了。
寻找答案
首先我百度了很久,结果没有找到什么有用的解释,最后用Google搜到了相关问题(Google大法好!),而且
github上还有专门对此问