ファイルを削除 (ゴミ箱) する方法について当惑していますが、プロセスによってリンクされていて、まだ書き込まれています。私の理解では、ファイル名は i ノードを指すディレクトリ内のエントリです。inode は、ファイルを構成する論理ブロックをリストするデータ構造です。ファイルが削除されると、そのディレクトリ エントリは削除されますが、データと inode は変更されません。カーネルは i ノードへの他のリンクがあるかどうかを確認し、存在しない場合は i ノードが削除され、メモリが再利用されます。しかし、このような名前のないファイルはどのようにして作成されるのでしょうか? ファイルを開いてPythonで読み書きすると、ファイルはディスク上に存在します。しかし、Mac でこのコマンドを発行すると、次のようになります。
lsof +L1
300個のファイルのリストを取得します! 私が読んだところによると、これらはリンクが 1 つしかないファイルであり、それらに書き込むプロセスへのリンクです。これらのファイルのディレクトリ エントリもある場合は、少なくとも 2 つのリンクがあります。では、途中のどこかで、これらのファイルに書き込んでいるプロセスがディレクトリ エントリを削除したのでしょうか。なんで?どのように?