Hallo.
ich habe das sicherlich schon hundertmal gemacht und es hat immer einwandfrei funktioniert (auch mehrere Scripts auf dem gleichen Rechner):
#!/usr/bin/perl
use strict;
use warnings;
$|=1;
my $protdir = ".......Pfad und Dateiname";
open(LOG1, "\>\>$protdir");
open(STDOUT, "\>\>&LOG1");
open(STDERR, "\>\>&LOG1");
print LOG1 "\*\*\*\*\*\*\*\*\*\*\*\* Gestartet\n";
while(1)
{
print LOG1 time()."\n";
sleep 60;
}
In der Variablen $protdir ist der komplette Pfad und Dateiname gespeichert.
Wie geschrieben: Ich habe das schon zig Mal genauso eingesetzt und es hat immer funktioniert - ausser bei meinem neuesten Prograemmchen.
Mal wird etwas in die Logfile geschrieben, mal wird sie nur mit 0 Groesse angelegt, aber nichts reingeschrieben.
Der Start erfolgt immer direkt vom User von der Konsole.
Perl ist 5.8
Obwohl das $|=1; je bedeutet, dass alles sofort geschrieben wird.
Kille ich dann das Programm, sind die Daten ploetzlich in der Protokoll-Datei vorhanden (selbst wenn es vorher ueber eine Stunde gelaufen ist).
Ich bin total verweifelt und weiss nicht wo ich noch suchen koennte oder an was es ueberhaupt liegen koennte.
Hat jemand eine Idee?
Christian