FreeBSD接口上/下监视

如何获得有关FreeBSD特定界面状态的信息?

ifconfig <ifname> | grep "status: active" 

工作正常,但我想要避免投票,并尽快通知ifup / ifdown。

devd(8)将会诀窍。 如果在接口上发生LINK_UPLINK_DOWN事件,则需要对其进行configuration以执行操作。 要添加到/etc/devd.conf示例configuration甚至更好,请创build/etc/devd/interface.conf

 notify 0 { match "system" "IFNET"; match "subsystem" "(em0|em1)"; match "type" "LINK_DOWN"; action "/usr/local/sbin/notifier.sh $subsystem" } 

以上configuration假设您希望在em0em1接口em0时通知您,并在发生事件时调用脚本。 它也将接口名称(因此$subsystem )传递给脚本。

你可以通过devd(8)监视up / down事件。 看看devd.conf(5)LINK_UP和LINK_DOWN事件。