【发布时间】:2014-03-14 02:39:36
【问题描述】:
我使用 Perl v5.10.1,并有下一部分代码:
#!/usr/bin/perl
use Fcntl qw(LOCK_EX LOCK_NB);
my ( $fh, $path );
$path = q{/var/run/}. time() .q{.pid};
sysopen $fh, $path, O_RDWR|O_CREAT || die qq{Cannot open "$path": $!\n};
flock ( $fh, LOCK_EX | LOCK_NB) || die qq{pid "$path" already locked: $!\n};
当我尝试运行它时:
pid "/var/run/1392394505.pid" 已经锁定:错误的文件描述符
它有什么问题?有什么想法吗?
【问题讨论】:
-
我不确定我是否理解变量锁定文件名背后的原因。
-
@ikegami 是否有按位标志和
open的参考? -