首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何与上位机一起控制和监控远程主机中的进程?

如何与上位机一起控制和监控远程主机中的进程?
EN

Stack Overflow用户
提问于 2016-08-04 13:26:56
回答 3查看 3.6K关注 0票数 2

Supervisor文档提到了remote command line

主管为您提供了一个开始、停止和监视流程的地方。过程可以单独控制,也可以分组控制。您可以将Supervisor配置为提供本地或远程命令行和web接口。

这是否意味着supervisor可以控制和监视运行在远程主机上的进程?

例如,

  1. 有三台服务器:ABC
  2. 服务器A运行监控器。
  3. 监控器在BC中运行进程。
  4. 监控器可以监视和控制(停止和启动) BC中的进程。

如果可能的话,你能给我一个主管配置的例子吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-06-29 07:29:50

您不能只使用主管来管理远程主机的进程。

但是您可以在每个主机上安装监控器,并使用正式的监控程序XML-RPC API在控制主机上管理它们。

许多插件都是这样实现的。

票数 1
EN

Stack Overflow用户

发布于 2017-01-13 21:57:27

这句话的意思并不是百分之百清楚。这意味着控制可以发生在远程或本地。

总之,发现这部分的主管文件非常有用。http://supervisord.org/plugins.html

它提到了一些工具,这些工具可以帮助您从单个来源控制多台机器上的监控器。

票数 0
EN

Stack Overflow用户

发布于 2019-11-24 11:45:58

使用xml-rpc

代码语言:javascript
复制
import socket
from http.client import HTTPConnection
from xmlrpc import client


class UnixStreamHTTPConnection(HTTPConnection):
    def connect(self):
        self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
        self.sock.connect(self.host)


class UnixStreamTransport(client.Transport, object):
    def __init__(self, socket_path):
        self.socket_path = socket_path
        super(UnixStreamTransport, self).__init__()

    def make_connection(self, host):
        return UnixStreamHTTPConnection(self.socket_path)


server = client.ServerProxy('http://127.0.0.1',transport=UnixStreamTransport("/path/to/supervisor.sock"))
print(proxy.supervisor.getState())
server.supervisor.stopProcess("test")
server.supervisor.startProcess("test")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38768683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档