2014-09-23 135 views
0

我想在远程服务器上从Python运行matlab可执行应用程序。Python使用服务器资源执行远程应用程序

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

上面的代码是我的本地机器上运行:

我用下面的代码。我注意到它正在使用本地机器的资源(CPU和内存),而我试图使用远程服务器上的资源。

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

谢谢。

回答

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) 
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 

,你可以删除用户名和密码标志。

相关问题