zoukankan      html  css  js  c++  java
  • rpyc + plumbum 实现远程调用执行shell脚本

    rpyc可以很方便实现远程方法调用, 而plumbum则可以实现在python中类似shell的方式编码:

    具体实现代码如下:

    Server.py

    import rpyc
    from rpyc.utils.server import ThreadedServer
    from plumbum import local
    from plumbum.cmd import sh
    
    
    class CalculatorService(rpyc.Service):
        """根据路径和脚本名执行脚本
        :param path:  路径
        :param shn:   执行脚本名
        """
        def exposed_execute(self, path, shn):
            exec=sh[shn]
            with local.cwd(local.cwd / path):
                exec()
            return
    
    if __name__ == "__main__":
        server = ThreadedServer(service=CalculatorService, port=12105)
        server.start()

    Client.py

    import rpyc
    
    class ClientService(rpyc.Service):
        def exposed_foo(self):
            return "foo"
    
    conn = rpyc.connect("10.47.58.196", 12105)
    #脚本路径
    path="/data/local/test"
    #脚本名
    shn="echo.sh"
    #远程调用执行远程shell脚本
    x = conn.root.execute(path, shn)
    conn.close()

    将echo.sh脚本放在/data/local/test路径下,先远程启动Server.py,然后执行Client.py即可远程调用执行echo.sh脚本。

  • 相关阅读:
    反射模块与模块之间的通信
    WCF传输协议
    IIs7 报错
    MVC3 ActionResult 返回类型
    三条数据 判断其中最大与最小
    dos批处理命令详解
    十拿九稳过倒桩之(倒桩技巧)
    九项路考(1)铁饼神功
    山鸽子
    九项路考(2)
  • 原文地址:https://www.cnblogs.com/cord/p/9226655.html
Copyright © 2011-2022 走看看