我想以一种有效的方式监视某个networking接口的RUNNING状态,而不是每秒钟不断地调用ifconfig ,并且parsing它的输出。 所以我问,如果有人知道在Linux上有效地获取Python状态信息的方法。
我知道netifaces ,但它不给我接口状态。 所以我不知道接口是否可用,或者真的在线/正在运行。
然后,我看着psutil ,但是如果我没有错过任何东西,它也不能访问这种networking接口状态。 如果我错了,我会很乐意得到纠正,并获得有关如何实现我的目标的具体信息。
事实certificate,读/sys/class/net/eth0/carrier工作效果很好。 特别是,不需要经常运行open() / readline() / close()序列,因为这比只简单地open()一次,然后重复执行seek(0)然后是readline() 。
这一切甚至可以通过拔插networking接口来实现。
在这种情况下, flush()不是必须的,并且不会做任何事情,因为open(...,'r')是只读的, flush()在这个模式下是no-op,官方的Python文档。