У меня более десяти портов Ethernet (без беспроводного подключения и т. Д.).Когда порт административно отключен, какой самый быстрый способ найти, если у порта есть носитель?
Просто для демонстрации, у меня порт 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))