3

I learned that open files can not be removed/renamed in Windows but can be removed/renamed in Linux (by default). I think I understand the reasons of the Windows behaviour.

Now I wonder why Linux allows remame/remove of open files ? What was the design rationale behind this decision ? What are the use cases when one need it ?

4

1 に答える 1

6

違いは、Linux はファイル名ではなくファイル ハンドルで動作することです。ファイルハンドルが有効である限り、読み書きできます。

Linux でファイルの名前を変更しても、ファイル ハンドルは変更されません。

非常に興味深い使用例の 1 つは、一時ファイルを開いた後に削除することです。これにより、他のすべてのプロセスがこのファイルにアクセスできなくなりますが、ファイル ハンドルを所有するプロセスは読み書きできます。

于 2013-05-23T11:26:32.107 に答える