#!/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中的特定事件?
使用>>作为@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] 举报,一经查实,本站将立刻删除。