Ищу возможность сделать что-то вроде этого:Как запустить пиро-сервер на удаленном ПК?
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/Daemon и вернуть Ури через SSH. После этого шага я хочу выполнить функцию на удаленном объекте. К сожалению, если я запускаю Pyroserver, он не запускается в фоновом режиме, поэтому я не получаю никакого возвращаемого значения из stdout. Что было бы лучшим способом сделать это? Я довольно новичок в библиотеке пиро, поэтому, возможно, есть еще более элегантный способ этого, спасибо.