In the old days on an old 16 bit UNIX, I had to execute unlink to delete a file.
So I would say the inode # will be removed from the directory entry, leaving the file in place. So the program will continue on happily. On Linux, I think it depends on the file system. But I think it will continue until the file is overwritten. If the file is closed and re-opened after rm(1), the program will fail.
EDIT: I took the quiz. But I have to wonder if on a fs like zfs/btfs something different will happen.
A file is held open read only by a process, and then you delete the file. Under memory pressure and without swap, can Linux evict those pages to reclaim memory?
However, "delete" is not a POSIX term for unlinking, or removing a file.
schoen•37m ago
So if you delete a file from the filesystem that's open by PID 12345, you can find a reference to that file still present in /proc/12345/fd, and you can actually make a new copy of the file with cp or something.
cduzz•28m ago