Perl Linux :: Inotify2 - больше не может отвечать на события - PullRequest
3 голосов
/ 12 февраля 2011

Я получаю несколько странное поведение при использовании модуля Linux :: Inotify2 для просмотра каталога для вновь создаваемых файлов.

Я сделал тестовый скрипт, чтобы посмотреть, как он работает, и как только это было сделано, я перешел к включению его использования в другие скрипты, в которых он не работал.Затем, когда я снова попробовал свой предыдущий тестовый скрипт, чтобы найти какую-то информацию, странно, что это тоже перестало работать.С тех пор это не сработало.За это время не было обновлений пакетов / дистрибутивов.

Проблема в том, что он перестал отвечать на события.Вот тестовый скрипт:

#!/usr/bin/perl

use strict;
use warnings;

use Linux::Inotify2;

my $inotify = new Linux::Inotify2 or die "unable to create new inotify object: $!";

my $dir = "/my/dir";

$inotify->watch($dir, IN_CREATE, sub {
    my $e = shift;
    print $e->fullname;
}) or die " Can't watch $!";

1 while $inotify->poll;

Связка в запущенном скрипте убивает скрипт.В противном случае, когда используется strace при запуске скрипта, он, похоже, читает новые события, но на эти события ответа нет.Любые предложения для отладки этого дальше?

1 Ответ

2 голосов
/ 12 февраля 2011

Я забыл установить $ |.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...