Python使用服务器资源执行远程应用程序

时间:2014-09-23 15:29:44

标签: python matlab resources remote-server

我正在尝试在远程服务器上运行Python的matlab可执行应用程序。

我使用了以下代码:

os.system("\\Server-01\\D$\\matlab_t.exe 7.25 16")    # 7.25 and 16 are input arguments of matlab_t.exe

以上代码在我的本地计算机上运行。我注意到它正在使用本地计算机的资源(CPU和内存),而我正在尝试使用远程服务器上的资源。

我可以知道如何使用服务器资源执行它吗?

感谢。

2 个答案:

答案 0 :(得分:0)

该命令将在您的计算机上运行,​​该路径可能指向远程服务器,但没有人告诉远程服务器它应该执行代码,只需要他们需要提供matlab_t.exe文件。

您必须使用一种机制来访问远程服务器。通常ssh用于此目的,但ssh守护程序必须在远程服务器上运行,并且您还需要具有访问权限(请向管理员询问)。

然后你就可以像这样使用python:

import paramiko

ssh = paramiko.SSHClient()
ssh.connect(server, username=username, password=password)
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(cmd_to_execute_on_remote_server)

答案 1 :(得分:0)

在python中,os.system命令仅在本地计算机上执行命令。你想要的是一个本地命令,让服务器自己执行它。

如果服务器是基于Windows的,那么您可以使用PsExec来执行此操作,如果服务器是基于Linux的,那么使用带有python库的ssh(如同其他答案所示)可能就是这样。

使用PsExec,os.system中的命令将类似于:

psexec.exe \\Server-01 -u <username> -p <password> D:\matlab_t.exe 7.25 16

如果您的服务器不需要身份验证,则可以删除用户名和密码标记。