2010-09-21 49 views
0

有一个文件被另一个进程锁定以进行编辑。 有没有办法使用C程序以独占模式打开文件?在exlusive模式下打开一个锁定的文件

+0

取决于操作系统。 – 2010-09-21 09:27:25

+0

您应该描述一下您尝试访问该文件时更加详细的情况。如果锁定了哪个文件(DLL/EXE或带有任何数据的文件)?为什么你需要**独家**访问?你可能想对文件做些什么。该怎么办(删除,更改包含,替换为另一个文件等)?您是否需要访问文件的相同内容,或者您​​需要将文件放在需要独占访问的同一地点?取决于你的答案可以给你一个建议。什么是锁定文件(服务,GUI应用程序,驱动程序)的过程?是停止/杀死进程是一种选择? – Oleg 2010-09-21 09:30:49

+0

这是一个应用程序丢弃的数据文件。 – Pradeep 2010-09-21 09:37:48

回答

0

是的,杀死其他进程。一个操作系统当然不会提供一种方法来允许你打开一个锁定的文件,这将完全破坏支持锁定的点。

Fwiw,一个非常常见的错误是尝试打开另一个进程已经打开的文件,并只指定读共享。无法工作,另一个进程已经获得了写入权限。您必须指定读取和写入共享。

+0

我不能杀死其他进程。 – Pradeep 2010-09-21 10:44:42

+0

从上面的评论,我认为没有办法以独占模式打开锁定的文件。 – Pradeep 2010-09-21 10:45:15

+1

@Pradeep:你知道你的问题有矛盾吗?如果不打开它或打破它,你无法通过唯一关闭的门! – Oleg 2010-09-21 10:56:59