def reapProcess(self):
        try:
            try:
                pid, status = os.waitpid(self.pid, os.WNOHANG)
            except OSError as e:
                if e.errno == errno.ECHILD:
                    # no child process
                    pid = None
                else:
                    raise
        except:
            log.msg('Failed to reap %d:' % self.pid)
            log.err()
            pid = None
        if pid:
            self.processEnded(status)
            unregisterReapProcessHandler(pid, self)
Is ssh available?
dataset/ETHPy150Open twisted/twisted/twisted/internet/process.py/_BaseProcess.reapProcess--crossover with--dataset/ETHPy150Open bmbouter/Opus/opus/lib/ssh_tools.py/NodeUtil.ssh_avail