我在不同的目录中有几个可执行文件,它们是指向同一数据的硬链接。
.
|-- 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
),然后在进程退出后将其删除。
您也可以将文件移动到其他地方,只要它在同一文件系统内即可。(在单个文件系统内,重命名和移动几乎是同一件事。)