如何等待Python对象的破坏

时间:2019-04-26 11:03:36

标签: python

有没有办法告诉对象的析构函数何时被垃圾回收器调用?我需要知道这一点,因为在析构函数释放它们之后,我需要一些网络资源。例如,析构函数删除可能立即添加的虚拟网络接口。在析构函数删除接口之前重新添加接口时,这当然会导致问题。必要的资源释放发生在代表虚拟网络的对象的​​__del__(self)函数中。

def __del__(self):
        print("Deconstructing " + self.devName)
           [...]
        sub.call(["ip", "link", "delete", self.devName])
        sub.call(["pkill", "dnsmasq"])
        try:
            os.remove("/var/lib/misc/dnsmasq.leases")
        except:
            "No dhcp leases to delete"

0 个答案:

没有答案