我正在尝试在远程服务器上运行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和内存),而我正在尝试使用远程服务器上的资源。
我可以知道如何使用服务器资源执行它吗?
感谢。
答案 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
如果您的服务器不需要身份验证,则可以删除用户名和密码标记。