一个硬链接已锁定。如何删除另一个?

一个硬链接已锁定。如何删除另一个?

我在不同的目录中有几个可执行文件,它们是指向同一数据的硬链接。

.
|-- file 1
`-- cache
    `-- foo.exe
`-- bar
    `-- foo.exe <-hard link to .\cache\foo.exe
`-- baz
    `-- foo.exe <-hard link to .\cache\foo.exe

如果其中一个正在运行,我无法删除其他的。我执行.\bar\foo.exe然后尝试删除,但.\baz\foo.exe被告知无法删除该文件。终止该.\bar\foo.exe进程是不可行的,因为它是一项长期运行且昂贵的任务。但我真的需要.\baz\foo.exe消失,因为我需要其他东西的名称。

有没有办法断开链接并摆脱它.\baz\foo.exe

答案1

你可以改名 baz\foo.exe(例如,到deleteme.exe),然后在进程退出后将其删除。

您也可以将文件移动到其他地方,只要它在同一文件系统内即可。(在单个文件系统内,重命名和移动几乎是同一件事。)

相关内容