次のコマンドセットを使用してネットワークインタフェースを「終了」して「起動」すると、実際に何が起こりますか?
$ ifconfig wlan0 down
$ ifconfig wlan0 up
ワイヤレスカードの電源を切ってからもう一度入れましたか?ワイヤレスネットワークドライバが停止してから起動しますか?
答え1
ioctl()
これらのコマンドは、通常、ネットワークドライバでIF_UPフラグをクリア(最初のコマンド)または設定(2番目のコマンド)する単一のシステムコールにまとめられます。
それ以来のことはドライバーの分け前です。ネットワークインタフェースカードを再起動することも、そうでない場合もあります。独自に「停止」(アンロード?)と「起動」(ロード?)することはできません(ただし、システムの他のものはホットプラグコードなどのドライバの操作に応答できます)。
ドライバは、インターフェイスの最初の起動時に挿入されたインターフェイスパスを削除し、カーネルに基づいてイベントの種類(hotplugやudevなど)を生成できます。
Debian ではifdown wlan0
and を使う方が良いでしょうifup wlan0
。