デバイスファイルが削除された場合はどうなりますか?

デバイスファイルが削除された場合はどうなりますか?

私は/ devの下のファイルについて全体的に理解しています。

2つのタイプ(文字/ブロック)があり、これらのファイルにアクセスするとカーネルのドライバと通信することがわかります。

特に、両方の種類のファイルに対してファイルを削除するとどうなるかを知りたいです。たとえば、ブロックデバイスファイルを削除すると、/dev/sdaどのような影響がありますか?ディスクをマウント解除しましたか?

同様に/dev/mouse/mouse0削除するとどうなりますか?マウスが動作を停止しましたか?自動的に交換されますか?

このファイルを削除できますか?仮想マシンを設定したら試してみましょう。

ベストアンサー1

これは単に(特殊)ファイルです。これは実際のデバイスへの「ポインタ」としてのみ機能します。 (つまり、カーネル内のドライバモジュールです。)

一部のコマンド/サービスですでにファイルが開いている場合は、そのデバイスへのハンドルがすでに存在し、引き続き機能します。

一部のコマンド/サービスが新しい接続を開こうとすると、ファイルにアクセスしようとし、「ファイルが見つかりません」で失敗します。

通常、これらのファイルはWindowsによって埋め込まれ、udevシステム起動時やUSBデバイス接続などの特別なイベント時に自動的に生成されますが、これらのファイルを手動で作成することもできますmknod

おすすめ記事