linux - 端口管理关闭时获取以太网端口运营商信息的最快方法
问题描述
我有十多个以太网端口(没有无线等)。当港口在行政上关闭时,找到港口是否有运营商的最快方法是什么?
仅出于演示目的,我有一个管理性关闭的 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))
解决方案
推荐阅读
- php - 如何在 PHP 中合并数组
- c++ - 如何针对特定情况调试和修复此双重可用内存损坏问题
- bash - 获取文件中最小数字的索引
- wordpress - Laravel 将子文件夹指向其他名称
- excel - 计算excel中的推荐人
- ios - Swift - SKCameraNode 在缩放和移动时抖动
- webstorm - 在没有 UI 的情况下快速重构所有变量
- javascript - 如何从 CRUD 应用程序中编辑和删除单个项目
- html - 所有屏幕尺寸的响应式 iFrame 高度
- intellij-idea - 使用 JetBrains IntelliJ IDEA 或其他工具的多语言项目