Я пишу какой-то Perl, который принимает ТВ-шоу, записанные в Windows Media Center, и перемещает / переименовывает / удаляет их в зависимости от определенных критериев.
Поскольку Perl запускается довольно часто, я бы хотел точно определить,используется ли файл (или, другими словами, шоу находится в процессе записи), поэтому я могу избежать каких-либо действий с ним.
Мой текущий метод проверяет состояние файла (используя"stat") и сравнивает его снова через 5 секунд, например так:
sub file_in_use
{
my $file = shift;
my @before = stat($file);
sleep 5;
my @after = stat($file);
return 0 if ($before ~~ $after);
return 1;
}
Кажется, это работает, но я уверен, что, вероятно, есть лучший и более чистый способ сделать это.
Не могли бы вы посоветовать?