我正在尝试编写一个包装器Python脚本,根据一些参数自动设置端口转发到远程主机,然后给我这个shell。一切都很好,直到我想退出shell——此时,会话挂起,再也不会返回Python。下面是一个玩具的例子,它做了同样的事情:
>>> import os
>>> os.system('ssh -L8080:localhost:80 fooserver.net')
user@fooserver.net password:
[fooserver.net]$ hostname
fooserver.net
[fooserver.net]$ exit
(hangs)
我相信这与转发的TCP端口处于“TIME\u WAIT”状态并保持SSH会话活动直到它关闭有关,因为如果我从未在本地请求该转发端口,则不会发生这种情况。处理这个问题的正确方法是什么?我能从Python内部捕获“出口”并杀死操作系统()管子什么的?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐