深入分析NTFS中文件被锁定导致Process.Start失败的详解
程序员文章站
2023-12-17 17:56:58
上周工作中遇到一个奇怪的问题,解决之后想想还是写出来和大家分享一下。故障描述:在a程序中使用process.start方法调用一个b.exe的文件时,程序总会自动退出。系统...
上周工作中遇到一个奇怪的问题,解决之后想想还是写出来和大家分享一下。
故障描述:
在a程序中使用process.start方法调用一个b.exe的文件时,程序总会自动退出。
系统描述:windows xp pro sp3
尝试过的解决办法:
1.b.exe文件是存在的
2.手动执行b.exe是没有任何问题的。
3.a程序调用一个c.exe也是没有问题的。
到此,我基本确认问题出在b.exe上面。 不过由于单独执行b.exe是没有问题的,所以找了半天,一直没解决这个问题。
突然间,我注意到手动执行b.exe时会弹出一个安全的对话框,需要点击确定 后才能执行,而我执行c.exe时并没有这个现象:
故障描述:
在a程序中使用process.start方法调用一个b.exe的文件时,程序总会自动退出。
系统描述:windows xp pro sp3
尝试过的解决办法:
1.b.exe文件是存在的
2.手动执行b.exe是没有任何问题的。
3.a程序调用一个c.exe也是没有问题的。
到此,我基本确认问题出在b.exe上面。 不过由于单独执行b.exe是没有问题的,所以找了半天,一直没解决这个问题。
突然间,我注意到手动执行b.exe时会弹出一个安全的对话框,需要点击确定 后才能执行,而我执行c.exe时并没有这个现象:
看到这里,想起我前段时间遇到的ppt文件总是需要修复的问题,我马上看了下文件属性:
果然,该文件被锁定了。 解除锁定后,故障得到解决。a程序可以顺利的调用b.exe了。
后来想了想,我更新这个文件的时候是通过一个im传过来的,可能是那个时候文件被锁定了。