EHLO!fichier queue Perl pendant 30 secondes
Cela a commencé comme un « bon, donnez-moi 30 minutes », mais ici je suis un jour après. Fondamentalement, ce que je veux faire est de vérifier «/var/log/messages » pendant 30 secondes et quand quelqu'un plug-in d'un disque dur USB pendant ce temps, d'exécuter certaines commandes.
Donc j'utilise Par la fonction "File :: Tail", et fonctionne un peu mais je ne sais pas comment l'exécuter pendant seulement 30 secondes, la queue reste là jusqu'à ce que je sois sortie manuellement ( Il fonctionne juste comme commande de queue). Je cherchais des solutions en utilisant la fourche mais toujours pas de chance ou d'expérience à ce sujet. Une partie du code « queue » est comme ceci:
while ((defined($line=$file->read))) {
J'apprécie toute aide ou un conseil. Si quelqu'un a une autre solution en utilisant un autre, une fonction ou quoi que ce soit, c'est bien, j'ai besoin du code pour un "CGI".
['alarm'] (http://perldoc.perl.org/functions/alarm.html)? – mob
'sommeil (30),' 'avant d'appeler $ file-> read';) – ikegami
F :: T ne supporte pas que, si vos options sont les suivantes: 1) Recherche d'un module qui fait la même chose que F: : T, mais supporte un timeout 2) Monkeypatch F :: T 3) Réimplement F :: T avec la possibilité d'expirer, 4) 'alarm' 5) Utiliser un mécanisme qui n'implique pas'/var/log/messages ' – ikegami