首页 > 解决方案 > 端口管理关闭时获取以太网端口运营商信息的最快方法

问题描述

我有十多个以太网端口(没有无线等)。当港口在行政上关闭时,找到港口是否有运营商的最快方法是什么?

仅出于演示目的,我有一个管理性关闭的 eth3 端口并有运营商(物理链路)。我有以下工作代码。但是,当我删除 5 秒延迟时,我没有得到载体(尽管确实有载体)。

#!/usr/bin/env python3.4

import subprocess
import time

def func():
    try:
        with open("/sys/class/net/eth3/carrier") as cf1:
            carrier = cf1.read().strip()
    except Exception as e:
        cmd = "ip link set dev eth3 up"
        result = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True, universal_newlines=True)
        time.sleep(5)
        with open("/sys/class/net/eth3/carrier") as cf1:
            carrier = cf1.read().strip()
        cmd = "ip link set dev eth3 down"
        result = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True, universal_newlines=True)
    return carrier

c = func()
print("eth3 carrier: {0}".format(c))

标签: linuxpython-3.xnetwork-programmingubuntu-14.04ethernet

解决方案


推荐阅读