sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #83714
Re: Usædvanlig(?) omdirigering af uddata
Henrik Christian Grove skrev:
> Jeg har et program (faktisk flere, men det er ligegyldigt) der
> producerer en del uddata på stdout og også lidt på stderr.
>
> Jeg vil gerne kunne se det der kommer på stderr, men jeg vil
> samtidig gerne have begge dele ned i én fil, så jeg, hvis det bliver
> nødvendigt, kan komme til at se hvad der er sket på stdout lige op
> til fejlen (som rapporteres på stderr. Det betyder så også at begge
> dele skal skrives ned i filen løbende, så det er ikke godt nok at
> sende stdout til en fil og stderr til en anden og så sætte dem
> sammen bagefter.
Hvis rækkefølgen i logfilen ikke behøver at være perfekt, virker
følgende:
mkfifo log.pipe
cat log.pipe > log &
( program 1>log.pipe ) 2>&1 | tee log.pipe
Så vidt jeg kan se er problemet med denne variant at for hvert
kontekstskift får man først alt der blev sendt til »stdout« og dernæst
alt der blev sendt til »stdin«.
Jeg er lidt i tvivl om om det overhovedet er muligt at gøre det bedre.
Det skulle i så fald være ved at kalde `program` indefra et andet
program der sørger for at bufferstørrelserne på »stdout« og »stdin« er
så små at der mindst kommer et kontekstskift per linjeskift.
Jacob
--
Quis custodiet ipsos custodes
References