def dm(self): died = [] pids = [os.getpid()] states = ['running'] descs = ['MainProcess'] for pid, description in self._processes.items(): if not psutil.pid_exists(pid): self._ended.append((pid, description)) died.append(pid) continue pids.append(pid) states.append('running') descs.append(description) for pid in died: del self._processes[pid] if cfg.subprocess_manager_show_ended: for pid, description in self._ended: pids.append(pid) states.append('ended') descs.append(description) dm = DataMatrix(length=len(pids)) dm.pid = pids dm.state = states dm.description = descs return dm