0
我需要創建一個ssh隧道,然後執行某些操作,然後撕下隧道。如何關閉通過python打開Popen的ssh隧道
我一直在試圖做這樣的:
def runCmd(self,cmd):
args = shlex.split(cmd)
return subprocess.Popen(args)
def openTunnel
cmd = 'ssh -f -N -L 1313:localhost:1313 [email protected]'
self.TunnelObj = self.runCmd(cmd)
這造成我的隧道。 我可以做我需要做的事情。現在我想拆掉隧道。
def closeSocket(self):
print '\nClosing Tunnel\n'
if self.TunnelObj.returncode == None:
print '\nabout to kill\n'
self.TunnelObj.kill()
但隧道仍然開着。 ssh會話仍然存在,並且該端口仍被分配。
如何關閉此通道?
這正是我的問題。 -f(將隧道發送到後臺)使python不能殺死進程。 – 2011-06-10 11:42:36