Python Paramiko向ssh sh发送CTRL+C

2024-04-16 20:07:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Paramiko调用shell,以便通过ssh连接使用CLI。这个CLI的问题是,如果我不使用CTRL+C关闭它,在不重新启动系统的情况下,程序将无法再次打开。

我尝试了以下命令:

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

有没有其他方法来称呼它们?同样,我使用paramiko.SSHClient()建立了一个SSH连接,然后使用ssh.invoke_shell()调用了一个shell,现在我需要向该shell发送CTRL+C来关闭shell(而不是SSH连接)


Tags: 方法命令程序sendparamikocli系统情况
2条回答

您的第二个示例走在正确的轨道上,但它的格式不太正确。你实际上得到了一个2个字符的字符串。

SSH.send(“\x03”)应该能做到这一点。

不过,我可能会用这个来代替。

SSH.发送(chr(3))

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

你可以-
调用client.exec_command()时传递get_pty=True。然后client.close()终止远程尾部。
或:在调用channel.exec_command()之前执行channel.get_pty()。然后channel.close()终止远程尾部。

相关问题 更多 >