当我使用以下命令集“关闭”和“启动”网络接口时,实际上会发生什么?
$ ifconfig wlan0 down
$ ifconfig wlan0 up
无线网卡是否已关闭然后再打开?无线网络驱动程序是否停止并启动?
答案1
这些命令通常会归结为单个ioctl()
系统调用,该系统调用将清除(第一个命令)或设置(第二个命令)网络驱动程序中的 IF_UP 标志。
之后发生什么就取决于司机了。它可能会也可能不会重新启动网络接口卡。它可能不会“停止”(卸载?)和“启动”(加载?)本身(但系统中的其他东西可能会响应驱动程序的操作,例如热插拔代码)。
驱动程序可能会删除最初启动接口时放入的接口路由,并且可能会根据内核创建某种事件(例如热插拔或 udev 等)。
在 Debian 上,使用ifdown wlan0
和可能更好ifup wlan0
。