我也想连接并使用python在远程服务器上执行进程。我希望能够获得进程的返回码和stderr(如果有的话)。以前有没有人做过这样的事情?我已经完成了与ssh,但我想从python脚本。如何使用python远程执行进程
干杯。
我也想连接并使用python在远程服务器上执行进程。我希望能够获得进程的返回码和stderr(如果有的话)。以前有没有人做过这样的事情?我已经完成了与ssh,但我想从python脚本。如何使用python远程执行进程
干杯。
好了,你可以从蟒蛇叫SSH ...
import subprocess
ret = subprocess.call(["ssh", "[email protected]", "program"]);
# or, with stderr:
prog = subprocess.Popen(["ssh", "[email protected]", "program"], stderr=subprocess.PIPE)
errdata = prog.communicate()[1]
使用这是为了这个目的,而不是使用subprocess
创建ssh module called paramiko。下面是下面一个例子:
from paramiko import SSHClient
client = SSHClient()
client.load_system_host_keys()
client.connect("hostname", username="user")
stdin, stdout, stderr = client.exec_command('program')
print "stderr: ", stderr.readlines()
print "pwd: ", stdout.readlines()
UPDATE:以前用的是ssh
模块的例子,但现在已被弃用,paramiko是跟上时代的模块,在Python提供SSH功能。
我想你会发现ssh_decorate有用
Python命令将在远程服务器上用这个简单的装饰运行:
from ssh_decorate import ssh_connect
ssh=ssh_connect('user','password','server')
#Run a python function
@ssh
def python_pwd():
import os
return os.getcwd()
print (python_pwd())
重复:http://stackoverflow.com/questions/536370/execute -arbitrary-python-code-remote-can-it-done – 2009-06-03 21:21:34
示例:http://stromberg.dnsalias.org/~strombrg/looper/由于收购,这是微软授权的开源软件。它在Linux上运行良好。 – user1277476 2014-09-27 18:30:08