I came across this and this questions on deleting opened files in linux
However, I'm still confused what happened in the RAM when a process(call it A) deletes an opened file by another process B.
What baffles me is this(my analysis could be wrong, please correct me if so):
- When a process opens a file, a new entry for that file in the UFDT is created.
- When a process deletes a file, all the links to the file are gone especially, we have no reference to its
inode, thus, it gets removed from the GFDT - However, when modifying the file(say writing to it) it must be updated in the disk(since its pages gets modified/dirty), but it got no reference in the GFDT because of the earlier delete, so we don't know the
inodeto it.
The Question is why the "deleted" file still accessible by the process which opened it? And how is that been done by the operating system?
Aucun commentaire:
Enregistrer un commentaire