如何检查文件是否由Perl中的其他程序打开?

1 testing perl file

在Perl中,如何测试另一个Perl程序打开的文件?我需要在第二个程序启动之前完成第一个程序.

fri*_*edo 12

替代文字http://musicritics.com/wp/wp-content/uploads/2009/05/20061129morbo.gif

文件不能以这种方式工作!

但严肃地说,人们,拥有羊群的咨询锁通常是你能做的最好的.没有办法保证没有其他程序想要同时读取或写入文件.


Nat*_*hen 5

您可以使用以下方式协调这两个程序flock:第一个程序将锁定文件,第二个程序也会尝试获取锁定,并且它将阻塞直到第一个程序释放锁定.


phi*_*ant 5

你的系统上有flock()吗?否则,两个程序必须同步,它们可以通过管道或套接字进行通信,或者通过文件的存在/不存在进行通信.

如果你在类Unix系统上的另一个方向,可以使用lsof输出.

我假设第一个程序启动第二个程序是不可行的.