Aguarde o evento plug-in / plug-in do cabo Ethernet no Linux?

2

Eu sei que posso pesquisar o estado do link por meio do ioctl SIOCETHTOOL / ETHTOOL_GLINK, mas isso exigiria que o estado fosse solicitado indefinidamente. O mesmo vale para a análise de / var / log / messages. Então, minha questin é, existe alguma maneira sob o Linux para esperar em uma mudança de estado do cabo ethernet do userspace?

    
por David 09.03.2012 / 14:28

2 respostas

7

Que tal ifplugd ?

ifplugd is a Linux daemon which will automatically configure your ethernet device when a cable is plugged in and automatically unconfigure it if the cable is pulled. This is useful on laptops with onboard network adapters, since it will only configure the interface when a cable is really connected.

(Há também netplugd , mas foi descontinuado .)

    
por 09.03.2012 / 14:37
1

A solução de sr_ é melhor que a minha, mas você poderia usar esses ioctls com sleep para evitar o estresse dos recursos. Escreva um loop que investiga se há o link questionado para cima / baixo, então faça algo / nada em ambos os casos e, em seguida, sleep alguns segundos. Isso gerará apenas um pouco de carga no seu sistema.

    
por 09.03.2012 / 15:07