:は、(削除)などのファイルを示していますが、私はまだ、ファイルシステムでそれを見ることができるのLinux 2.6.27で
からの出力は、私は(削除)ファイルを開いたFDを保持しているプロセスを参照してください「lsofを」 。奇妙なことは、 "ls"を使ってファイルシステム内のファイルを見ることができるということです。何故ですか?
ありがとうございました。
:は、(削除)などのファイルを示していますが、私はまだ、ファイルシステムでそれを見ることができるのLinux 2.6.27で
からの出力は、私は(削除)ファイルを開いたFDを保持しているプロセスを参照してください「lsofを」 。奇妙なことは、 "ls"を使ってファイルシステム内のファイルを見ることができるということです。何故ですか?
ありがとうございました。
ファイルが開いているプロセスがある限り、ファイルは削除されません。ファイルが閉じられると、カーネルは最初にファイルを開いているプロセスの数をチェックします。このカウントが0に達した場合、カーネルはリンクカウントをチェックします。 0の場合、ファイルの内容は削除されます。名前がファイルへの最後のリンクだったが、それでも ファイルがファイルを開いているすべてのプロセスがそれを参照する最後のファイル 記述子まで存在にとどまる場合
:男性unlinkから引用し
閉じています。
ファイルが削除されると、ファイルシステムには表示されません。ただし、同じ場所に同じファイル名の別のファイルが作成されている可能性があります。
lsof
とls -i
のノード番号を確認して、実際に同じファイルであることを確認できます。
これは、unlinkは常に名前を削除し、時にはファイルを削除すると言います。 'ls'でファイルを見ることができれば、その名前は削除されていません。そういうわけではありません。これをテストするには、あるプロセスでファイルを開き、別のプロセスでファイルを削除して 'ls'を実行します。 – philh