def shutdown(self):
        if not self.up:
            return
        while self._mounts:
            source, target = self._mounts.pop(-1)
            self.umount(target)
        for netif in self.netifs():
            netif.shutdown()
        try:
            os.kill(self.pid, signal.SIGTERM)
            os.waitpid(self.pid, 0)
        except OSError:
            pass
        try:
            os.unlink(self.ctrlchnlname)
        except __HOLE__:
            pass
        self._netif.clear()
        self.vnodeclient.close()
        self.up = False
dataset/ETHPy150Open coreemu/core/daemon/core/netns/vnode.py/SimpleLxcNode.shutdown