def run(self, sambaopts, versionopts, section_name=None, name=None, pid=None): lp = sambaopts.get_loadparm() logger = self.get_logger("processes") msg_ctx = Messaging() if name is not None: try: ids = msg_ctx.irpc_servers_byname(name) except KeyError: ids = [] for server_id in ids: self.outf.write("%d\n" % server_id.pid) elif pid is not None: names = msg_ctx.irpc_all_servers() for name in names: for server_id in name.ids: if server_id.pid == int(pid): self.outf.write("%s\n" % name.name) else: names = msg_ctx.irpc_all_servers() self.outf.write(" Service: PID \n") self.outf.write("-----------------------------\n") for name in names: for server_id in name.ids: self.outf.write("%-16s %6d\n" % (name.name, server_id.pid))
def run(self, sambaopts, versionopts, section_name=None, name=None, pid=None): lp = sambaopts.get_loadparm() logger = self.get_logger("processes") msg_ctx = Messaging() if name is not None: ids = msg_ctx.irpc_servers_byname(name) for server_id in ids: print "%d\n" % server_id.pid elif pid is not None: names = msg_ctx.irpc_all_servers() for name in names: for server_id in name.ids: if server_id.pid == int(pid): print "%s\n" % name.name else: names = msg_ctx.irpc_all_servers() for name in names: print "%s: " % name.name for server_id in name.ids: print "%d " % server_id.pid print "\n"
def run(self, sambaopts, versionopts, section_name=None, name=None, pid=None): lp = sambaopts.get_loadparm() logger = self.get_logger("processes") msg_ctx = Messaging() if name is not None: ids = msg_ctx.irpc_servers_byname(name) for server_id in ids: self.outf.write("%d\n" % server_id.pid) elif pid is not None: names = msg_ctx.irpc_all_servers() for name in names: for server_id in name.ids: if server_id.pid == int(pid): self.outf.write("%s\n" % name.name) else: names = msg_ctx.irpc_all_servers() self.outf.write(" Service: PID \n") self.outf.write("-----------------------------\n") for name in names: for server_id in name.ids: self.outf.write("%-16s %6d\n" % (name.name, server_id.pid))
def run(self, sambaopts, versionopts, section_name=None, name=None, pid=None): lp = sambaopts.get_loadparm() logger = self.get_logger("processes") msg_ctx = Messaging() if name is not None: try: ids = msg_ctx.irpc_servers_byname(name) except KeyError: ids = [] for server_id in ids: self.outf.write("%d\n" % server_id.pid) elif pid is not None: names = msg_ctx.irpc_all_servers() for name in names: for server_id in name.ids: if server_id.pid == int(pid): self.outf.write("%s\n" % name.name) else: seen = {} # Service entries already printed, service names can # be registered multiple times against a process # but we should only display them once. prefork = {} # Services running in the prefork process model # want to ensure that the master process and workers # are grouped to together. (services, masters, workers) = self.get_service_data(msg_ctx) self.outf.write(" Service: PID\n") self.outf.write("--------------------------------------\n") for service in sorted(services, key=lambda x: x.name): if service.name in masters: # If this service is running in a pre-forked process we # want to print the master process followed by all the # worker processes pid = masters[service.name] if pid not in prefork: prefork[pid] = True self.outf.write("%-26s %6d\n" % (service.name, pid)) if service.name in workers: ws = workers[service.name] for w in ws: (instance, pid) = ws[w] sn = "{0}(worker {1})".format( service.name, instance) self.outf.write("%-26s %6d\n" % (sn, pid)) else: for server_id in service.ids: if (service.name, server_id.pid) not in seen: self.outf.write("%-26s %6d\n" % (service.name, server_id.pid)) seen[(service.name, server_id.pid)] = True