windows 下替换正在运行的进程的可执行文件,会自动重命名

2020-07-10 09:00:12 +08:00
 ragnaroks
标题是现象,版本 1909

今天无意中发现替换一个可执行文件 app.exe 时,(我不知道)该进程正在运行,windows 并未提示文件被占用,而是提示存在同名文件是否覆盖,于是我点了"确定"

完成操作后,目录下出现 app.exe 和 app(2).exe,我有点奇怪,但是没多想,于是把 app.exe 给删除了,把 app(2).exe 留下并改名为 app.exe

有意思的就来了,查看 app(2).exe(此时是 app.exe 了) 的版本居然是之前正在运行的版本

也就是说, app.exe 反而是更新版本, app(2).exe 则是实际正在运行的 app.exe 的落后版本

经过测试,部分应用程序可以直接这样替换更新,但大多数还是会提示正在运行不可替换

想了解一下此操作是 windows 的操作,还是应用程序提供的操作
1095 次点击
所在节点    问与答
3 条回复
WebKit
2020-07-10 09:17:40 +08:00
这种操作感觉跟 linux 有点类似了
ysc3839
2020-07-10 16:56:04 +08:00
我这里测试结果不是这样,app (2).exe 是新的。
没记错的话 Windows 对于正在运行的应用程序是可以移动但不能删除的。
ragnaroks
2020-07-10 17:44:31 +08:00
@ysc3839 我这里可以稳定复现;你没有记错,所以我才觉得奇怪

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/688744

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX