通过程序检查,如果在Linux操作系统上的eth连接已经启动或closures…和内核2.4

我需要通过程序(使用c或perl)来检查eth连接状态(链接和链接)的变化。 现在我使用Keepalive的方式,但是我有时会松开通知。 在消息文件内部,我看到了'eth0 link down'的内核通知,这个笔记总是正确的,所以我正在寻找一个方法,可能是一个系统调用来检查eth状态。

如果你想检查链接状态(载体),你可以检查文件:

$ cat /sys/class/net/eth0/carrier 

这将显示1(链接已经)或0(链接已closures)。

就像RH73的解决方法一样( 不要问为什么我在2010年有一堆RH73盒子):

 [madhatta@ms01 madhatta]$ cat /etc/redhat-release Red Hat Linux release 7.3 (Valhalla) [madhatta@ms01 madhatta]$ uname -a Linux ms01.company.com 2.4.20-30.7.legacysmp #1 SMP Fri Feb 20 10:12:55 PST 2004 i686 unknown [madhatta@ms01 madhatta]$ sudo mii-tool eth0 eth0: negotiated 100baseTx-FD, link ok [madhatta@ms01 madhatta]$