急 文件打开有关问题
急!急!急 文件打开问题
请问如何用程序判断一个文件当前是否被其它的应用程序打开着呢? 是这样的,现在有一个目录,目录里面存放着一个文件,我需要检测一下这个文件当前是否正在被其它的程序使用,如果没有被其它的程序使用,就将该文件加密后移动到另外一个地方,然后将该文件所在的目录删除。
这个问题折腾了我好几天了,现在还是无解。哪位高手能够指点一下呢?
------解决方案--------------------
用命令lsof判断看看。
------解决方案--------------------
请问如何用程序判断一个文件当前是否被其它的应用程序打开着呢? 是这样的,现在有一个目录,目录里面存放着一个文件,我需要检测一下这个文件当前是否正在被其它的程序使用,如果没有被其它的程序使用,就将该文件加密后移动到另外一个地方,然后将该文件所在的目录删除。
这个问题折腾了我好几天了,现在还是无解。哪位高手能够指点一下呢?
------解决方案--------------------
用命令lsof判断看看。
------解决方案--------------------
- C/C++ code
用_access函数判断,再次打开时的情况要看你第一次的打开方式了,如果上次用的是非独占打开,那没问题,如果是独占打开,会打开失败 Example /* ACCESS.C: This example uses _access to check the * file named "ACCESS.C" to see if it exists and if * writing is allowed. */ #include <io.h> #include <stdio.h> #include <stdlib.h> void main( void ) { /* Check for existence */ if( (_access( "ACCESS.C", 0 )) != -1 ) { printf( "File ACCESS.C exists\n" ); /* Check for write permission */ if( (_access( "ACCESS.C", 2 )) != -1 ) printf( "File ACCESS.C has write permission\n" ); } }