如何在Python的客户机终端上获取后台进程的输出(使用ssh时)?

2024-04-24 06:14:38 发布

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

我正在运行一个服务器(linux机器),ssh(我使用paramiko模块)到客户机(linux机器)执行“python”客户端sock.py在客户端计算机上进行套接字连接。(这是为了消除在每个客户机上运行客户机套接字程序的手工工作)

一旦建立了套接字连接,我将检查是否有蓝牙加密狗连接到客户端,如果找到所需的加密狗,我将从服务器向客户端发送蓝牙HCI原始命令,以便通过套接字在加密狗上执行。你知道吗

我的要求是: 当我通过套接字向客户机发送命令时,客户机应该打开/弹出终端并显示执行的命令的输出。你知道吗

但目前的情况是,当我运行服务器时,它将ssh连接到客户机并运行“python”客户端sock.py“在客户机上,然后服务器向客户机发送蓝牙命令,我看不到在客户机上执行的命令的输出/日志。你知道吗

一切都发生在后台,最终结果被发送到服务器。你知道吗

您能告诉我如何在客户端机器的终端上获得后台进程的输出(使用ssh时)吗?你知道吗

服务器中使用的Paramiko模块代码段。你知道吗

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(IP address,username,password)
cmd = 'python <path for client socket program>'
stdin, stdout, stderr = client.exec_command(cmd)

但是服务器中的标准输出在服务器上给出输出,我想在客户机终端上看到输出。你知道吗


Tags: 模块py命令服务器cmdclient机器终端