2014-09-23 1 views
0

Я пытаюсь запустить исполняемое приложение Matlab из Python на удаленном сервере.Python выполнить удаленное приложение с использованием ресурса сервера

Я использовал следующий код:

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

Приведенный выше код работает на моей локальной машине. Я заметил, что он использует ресурсы (процессор и память) моей локальной машины, а я пытаюсь использовать ресурсы на удаленном сервере.

Могу ли я узнать, как я могу выполнить его с использованием ресурса сервера?

Спасибо.

ответ

0

Эта команда будет запущена на вашем компьютере, путь может указывать на удаленный сервер, но никто не сказал удаленному серверу, что он должен выполнять код, только чтобы они должны были обслуживать файл matlab_t.exe.

Вы должны использовать механизм доступа к удаленному серверу. Обычно для этой цели используется ssh, но демон ssh должен работать на удаленном сервере, а также вам нужен доступ (спросите об этом администратора).

Затем вы можете использовать питон так:

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

В питоне, команда os.system только выполняет команду на локальной машине. То, что вы хотите, - это локальная команда, которая заставит сервер выполнить его сам по себе.

Если сервер основан на Windows, то для этого вы можете использовать PsExec, если сервер основан на Linux, тогда использование ssh с библиотекой python (как и другой ответ демонстрирует), вероятно, будет способом.

Используя PsExec, ваша команда в os.system будет что-то вроде:

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

Если сервер не нуждается в аутентификации, вы можете удалить имя пользователя и пароль флаги.

Смежные вопросы