EHLO!Perlendatei für 30 Sekunden
Das begann wie ein "hey, gib mir 30 Minuten" aber hier bin ich einen Tag danach. Grundsätzlich möchte ich "/ var/log/messages" für 30 Sekunden überprüfen und wenn jemand während dieser Zeit eine USB-Festplatte einsteckt, einige Befehle ausführen.
Also ich benutze Per Funktion "File :: Tail", und irgendwie funktioniert, aber ich weiß nicht, wie es für nur 30 Sekunden, Schwanz bleibt dort, bis ich manuell zu beenden ( Es funktioniert nur als Schwanz Befehl). Ich suchte nach Lösungen mit Gabel aber immer noch kein Glück oder Erfahrung darin. Ein Teil des „Schwanz“ Code ist wie folgt:
while ((defined($line=$file->read))) {
ich Hilfe oder Spitze zu schätzen wissen. Wenn jemand eine andere Lösung mit einer anderen, Funktion oder was auch immer verwendet, ist es in Ordnung, ich brauche den Code für ein "CGI".
['alarm'] (http://perldoc.perl.org/functions/alarm.html)? – mob
'sleep (30);' Bevor Sie '$ file-> read' aufrufen;) – ikegami
F :: T unterstützt das nicht, also haben Sie folgende Optionen: 1) Suchen Sie nach einem Modul, das dasselbe wie F tut: : T, aber unterstützt eine Zeitüberschreitung 2) Monkeypatch F :: T 3) Reimplementierung von F :: T mit der Möglichkeit zum Timeout, 4) 'alarm' 5) Verwenden Sie einen Mechanismus, der'/var/log/messages nicht beinhaltet ' – ikegami