Thread Ausgabe von mpstat um Uhrzeit erweitern (10 answers)
Opened by Gast at 2008-07-15 15:48

Gast Gast
 2008-07-16 12:16
#112191 #112191
Hallo RalphFFM

Da sed keine eigene date Funktion hat, musstes Du `date` in einer Subshell ermitteln und an sed übergeben. Das ganze wird nur einmal ausgewertet, sprich das date in sed sogar als erstes um sed zu parametriesieren.
Dannach wird alles was die while schleife ausgibt mit diesem festen sed ausgewertet und dementsprechend hat der Output immer das selbe Datum.

Wer mpstat nicht hat, kann das Ganze kann man auch mit sar, vmstat oder anderen Tools ausprobieren, die in definiertem Abstand n neue Zeilen ausgeben.

Da der Aufruf von mpstat nur einmal erfolgen soll, ist es auch keine Alternative, das sed in die Schleife zu integrieren.

Das selbe Problem hat mit dem Standard awk (keine eigene date funktion).

Deshalb dachte ich an perl, wo man deutlich mehr Möglichkeiten haben sollte,
aber wie gesagt, habe es nur hinbekommen, dass am Ende das Datum für alle Zeilen gleich ist. Im Beispiel noch ohne Ausgabe des Datums, aber die Ausgabe erfolgt erst am Ende von mpstat statt wie gehofft Sekunde für Sekunde.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/perl -w

pipe(LESE_HANDLE, SCHREIB_HANDLE);
my $Kind_pid = fork();

if ($Kind_pid) {
close(LESE_HANDLE);
my $old_handle = select(SCHREIB_HANDLE);
$| = 1;
print SCHREIB_HANDLE qx(mpstat 1 10);
close(SCHREIB_HANDLE);
wait;
select($old_handle);
} else {
close(SCHREIB_HANDLE);
my $Speicher;
while(defined($Speicher = <LESE_HANDLE>)) {
print "Empfangen: $Speicher \n";
}
exit(0);
}


//ModEdit GwenDragon: CODE-Tags hinzugefügt

View full thread Ausgabe von mpstat um Uhrzeit erweitern