2015-10-22 211 views
1

我正在使用Paramiko調用一個shell來使用CLI通過ssh連接。這個CLI的問題是,如果我沒有使用CTRL + C特別關閉它,那麼無需重新啓動系統就無法再次打開程序。Python Paramiko發送CTRL + C到ssh shell

我試過下面的命令:

SSH.send("^C\n") 
SSH.send("\x003") 

有另一種方式來調用這些?再次,我已經使用paramiko.SSHClient()建立了一個SSH連接,然後使用ssh.invoke_shell()調用一個shell,現在我需要發送CTRL + C到該shell以關閉shell(而不是ssh連接)

回答

7

您位於右側跟蹤你的第二個例子,但它的格式不正確。你實際上得到了2個字符的字符串。

SSH.send(「\ x03」)應該做的伎倆。

但是,我可能已經用它來代替。

SSH.send(CHR(3))基於

+0

這是我的朋友感謝在這裏解釋我的錯誤 – bladexeon

0

https://stackoverflow.com/a/11190794/565212

你可以 -
之一:通get_pty =調用client.exec_command時真()。然後client.close()終止遠程尾部。
或者:在調用channel.exec_command()之前執行channel.get_pty()。然後channel.close()終止遠程尾部。