![]() |
1
1
有几个原因可以让你的exe在执行完毕后仍然被锁定。有些与代码有关,有些与系统有关。对于您的代码,我可以考虑的两个主要原因是:
第二个问题是,即使流程已经完成,但执行并不意味着它是在系统透视图中完成的。 第一个可以避免,第二个可以在进程列表中监视,但您仍然有一包可能的锁(您的程序并行执行两次,病毒扫描,一些人手动清理临时文件夹,光盘清理向导)。所以我建议要么修改程序的逻辑。如果可执行文件是用c写的,加载二进制文件并执行程序,而不是复制文件。 如果出于某种原因需要在每次执行文件时复制该文件,请生成一个低优先级清理线程。如果WaitForExit调用失败,让它在调用WaitForExit后尝试清理;如果失败,则在x毫秒后重试;如果失败,则在2x后重试,以此类推。 话虽如此,我想他们可能是(可能是非托管的)API调用,用于在系统级别上查找文件锁。就我个人而言,我会让系统自己解决这个问题 |
![]() |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
|
Dansih · .Net核心自定义身份验证方案 2 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 2 年前 |