Re: Update on exit
It's true, you really don't know.
Linux (and other modern Unix-like systems) has the concept of the inode that is separate from the filename. The filename is merely a link between the directory structure and the inode, and a file can have more than one link. When the number of links reaches 0, then the file is deleted.
So, when a program is running, it creates an in-memory link to the inode. It's possible to remove the file from the directory structure, deleting it, but it will still be on disk because the in-memory links keep the number of links from reaching 0.
It's not perfect, if you consider badly written programs. Some programs depend on files that load after the program loads, and the in-memory link thing can cause confusion. Many times people have been working on a file, deleted the old version, hit save, and then found that the new version was not there. That's because the program was holding onto the file's inode, and didn't verify that the inode still had a link to the directory structure when the user hit save.