我找了有可能做这样的事情:如何在远程电脑上启动pyro服务器?
import paramiko, Pyro4
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('machine1', username='user1')
stdin,stdout,stderr = ssh.exec_command("python server.py")
uri = stdout.readlines()[-1]
ssh.close()
worker = Pyro4.Proxy(uri)
worker.do_some_stuff()
# server.py
import Pyro4
class Worker(object):
def do_some_stuff():
....
worker = Worker()
daemon=Pyro4.Daemon()
uri=daemon.register(worker)
daemon.requestLoop()
print uri
所以我想登录到一台机器开始PyroServer /守护 并通过ssh返回的URI。在这一步之后,我想在远程对象上执行一个功能 。 不幸的是,如果我启动一个Pyroserver,它不会在后台运行,所以我没有从stdout得到任何返回值。 什么是最好的方法来做到这一点? 我对pyro库很新,所以也许有一些更优雅的方式,谢谢。