我有一个写入文件的函数,我如何使用另一个脚本检查文件是用于写入还是关闭?
编辑:此文件可能会被其他脚本/应用程序/系统打开以供写入...
谢谢。答案 0 :(得分:2)
您应该在两个脚本中使用flock
。这会在文件上放置一个标志,以便通知其他脚本该文件正在使用中。该标志有意使用fclose
或隐式地在脚本结束时关闭。
答案 1 :(得分:1)
如果您使用的是Unix,系统可能会安装lsof(“LiSt Open Files”)命令。 输出中的“FD”列指示文件是否已打开以供读取, 写作,或两者兼而有之。
我想指出的是,“检查文件X是否可以写入,如果是这样的话......”的任何形式的过程都会受到竞争条件的影响。其他一些过程 您可以在检查后但在操作开始之前打开文件。
答案 2 :(得分:-3)
我会说只使用文件打开功能,如果返回false,那么文件显然仍然打开。