|
|
1
236
您希望查看中的节点 /sys/class/net/ 我尝试了我的: 插入的导线:
再次插入电线:
附带技巧:一次获取所有属性的简单方法:
这是一个很好的列表
|
|
|
2
89
ethtool :
要仅获取链接状态,您可以使用grep:
|
|
|
3
27
使用“ip监视器”获取实时链路状态更改。 |
|
|
4
18
接口必须启动,否则将出现无效参数错误。 因此,首先:
然后:
|
|
|
5
9
rtnetlink 套接字,无需任何轮询。旁注:如果您使用rtnetlink,您必须与udev一起工作,否则当udev重命名新的网络接口时,您的程序可能会混淆。 使用shell脚本进行网络配置的问题是 shell脚本对于事件处理非常糟糕 (例如插入和拔出的网络电缆)。如果你需要更强大的东西,看看我的 NCD programming language ,一种为网络配置而设计的编程语言。 例如,一个简单的NCD脚本将“电缆输入”和“电缆输出”打印到标准输出(假设接口已经启动):
(内部,
NCD的理念是,您专门使用它来配置网络,因此通常情况下,配置命令会介于两者之间,例如:
需要注意的重要部分是,允许执行 倒退 ; 例如,在第二个示例中,如果拔出电缆,IP地址将自动删除。 |
|
|
6
5
存在两个检测这些事件的守护进程: 插件 和 网络插件 |
|
|
7
3
大多数现代Linux发行版都使用 NetworkManager
如果需要命令行工具检查状态,也可以使用
|
|
8
3
我使用此命令检查导线是否已连接:
它显示0或1 |
|
|
9
3
一些精确性和技巧
|
|
|
10
1
|
|
|
11
1
你 可以 使用ifconfig。
这只是获取信息的另一种方式
|
|
|
12
1
或者对我来说更快得到:
结果(如果断开并在4秒钟后再次连接):
|
|
|
13
1
不知何故,如果您想检查以太网电缆是否在linux中插入后提示:“ifconfig eth0 down”。 我找到了一个解决方案: 使用ethtool工具。
如果连接了电缆,则链路测试为0,否则为1。 |
|
|
14
1
|
|
|
15
0
在OpenWRT上,可靠执行此操作的唯一方法(至少对我而言)是运行以下命令:
这将在交换机的每个端口上显示“link:down”或“link:up”。 |
|
|
16
-1
我将我的OpenWRT增强型设备用作中继器(增加了虚拟以太网和无线lan功能),发现/sys/class/net/eth0载波和opstate值不可靠。我使用了/sys/class/net/eth0.1和/sys/class/net/eth0.2,并且(至少根据我的发现)没有可靠的方法来检测物理上插入了什么东西并在任何以太网端口上讲话。我想出了一个有点粗糙但似乎可靠的方法来检测自上次重新启动/通电状态以来是否插入了任何东西(这正是我需要的)。
如果未插入任何东西,则您将得到一个0;如果自上一次通电或重新启动循环以来有任何东西已插入(即使已插入并移除)。 希望这至少能帮到别人! |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
|
user2138149 · 双栈网络服务器无法按预期处理ipv4请求 1 年前 |
|
|
Marco · PyCharm Linux系统文件上os.stat异常 1 年前 |