当前位置: 编程技术>.net/c#/asp.net
深入分析NTFS中文件被锁定导致Process.Start失败的详解
来源: 互联网 发布时间:2014-10-20
本文导语: 上周工作中遇到一个奇怪的问题,解决之后想想还是写出来和大家分享一下。故障描述:在A程序中使用Process.Start方法调用一个B.exe的文件时,程序总会自动退出。系统描述:Windows XP Pro SP3尝试过的解决办法:1.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传过来的,可能是那个时候文件被锁定了。