如果我在程序运行时删除程序的执行程序会发生什么?

时间:2014-10-11 08:58:33

标签: linux operating-system

我正在使用linux。如果我删除正在运行的执行文件会发生什么(我试过并且程序仍在运行)会怎样?如果删除链接的目标文件怎么办?它有问题吗?

1 个答案:

答案 0 :(得分:3)

您无法在Linux中删除文件。您只能删除指向该文件的目录条目。当没有对文件的更多引用时,操作系统最终将删除文件本身:不再有指向文件的目录条目,没有更多的打开文件句柄,没有更多的内存映射区域等等。

只要程序正在运行,就会有对该文件的引用,因此该文件根本不会被删除。

删除已加载的库是相同的。当您删除仅在程序运行时稍后打开的库时,可能会出现唯一的问题。