Одна вещь, которая кажется отсутствующей во всех других ответах, заключается в следующем: когда файл открывается, а программа имеет открытый файловый дескриптор, файл не будет удален из системы до тех пор, пока дескриптор файла не будет закрыт.
] Попытки удалить указанный inode будут задерживаться до тех пор, пока файл не будет закрыт: переименование в той же или другой файловой системе не может повлиять на открытый файл, независимо от поведения переименования, или явно удалять или перезаписывать файл с новым. Единственный способ, с помощью которого вы можете испортить файл, - это явно открыть его inode и беспорядок с содержимым, а не операциями в каталоге, такими как переименование / удаление файла.
Кроме того, когда ядро выполняет файл сохраняет ссылку на исполняемый файл, и это снова предотвратит любую его модификацию во время выполнения.
Итак, в конце, даже если это похоже на то, что вы можете удалить / переместить файлы, которые составляют запущенная программа, на самом деле содержимое этих файлов хранится в памяти до тех пор, пока программа не закончится.