微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Perl inotify2为每个文件修改触发两次

我正在写一个Perl脚本来监视一个文件的变化。

#!/usr/bin/perl use strict; use Linux::Inotify2; my $inotify = new Linux::Inotify2 or die $!; my $filename = "/tmp/foo"; my $counter = 0; $inotify->watch ( $filename,IN_MODIFY,sub { ++$counter; print "changed: $countern"; } ) or die $!; 1 while $inotify->poll;

每次/ tmp / foo更改时,该处理程序都会被调用两次(递增$ counter两次),如果我这样testing:

echo abc > /tmp/foo

为什么?

inotify FD – 为什么是每个用户id的限制,而不是每个进程?

linux inotify重写rename()的事件

一个目录树没有inotify

限制由incrond产生的并发进程的数量

在Linux中观看文件以进行更改

正确使用linux inotify – 每次重新打开?

检测外部IN_MOVED_FROM使用inotify进行重命名

inotify和epoll之间的区别

如何仅听取inotifywait中的特定事件?

linux C ++通知文件types的创build

使用>>作为@Lajos Veres建议,或者在CLOSE_WRITE事件(即Linux::Inotify2模块的Linux::Inotify2 )上Linux::Inotify2 ,

echo > /tmp/foo

inotifywait -m /tmp/foo Setting up watches. Watches established. /tmp/foo MODIFY /tmp/foo OPEN /tmp/foo MODIFY /tmp/foo CLOSE_WRITE,CLOSE

首先>截断文件(我认为这也是一个修改本身)。 尝试与>>。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐