|
| logge et programs output til en fil Fra : Axel Eystein Jensen |
Dato : 13-01-03 13:36 |
|
Jeg har problemer med at logge et kørende programs output.
Jeg starter programmet nogenlunde sådan:
nohup ./server -port=xxxx -config=xxx.cfg >> log.txt 2>> error.txt &
Problemet er, at der ikke kommer noget i .txt-filerne før end programmet
crasher eller bliver stoppet.
Er det noget med at der ventes på et signal, eller en hvis mængde data,
inden der skriver noget til .txt-filerne?
Er der nogen, der kan komme med en bedre metode?
--
Mvh.
Axel
| |
Torben Simonsen (13-01-2003)
| Kommentar Fra : Torben Simonsen |
Dato : 13-01-03 13:44 |
|
Axel Eystein Jensen <axel@eystein.dk> writes:
> Jeg har problemer med at logge et kørende programs output.
>
> Jeg starter programmet nogenlunde sådan:
> nohup ./server -port=xxxx -config=xxx.cfg >> log.txt 2>> error.txt &
>
> Problemet er, at der ikke kommer noget i .txt-filerne før end
> programmet crasher eller bliver stoppet.
Er der ikke noget med, at nohup redirigerer stdout og stderr til
en fil ved navn "nohup.out"?
--
-- Torben.
| |
Axel Eystein Jensen (13-01-2003)
| Kommentar Fra : Axel Eystein Jensen |
Dato : 13-01-03 13:58 |
|
Torben Simonsen wrote:
....
> Er der ikke noget med, at nohup redirigerer stdout og stderr til
> en fil ved navn "nohup.out"?
....
Jo, det har du vist ret i, men denne fil eksisterer ikke hos mig.
--
Mvh.
Axel
| |
Torben Simonsen (13-01-2003)
| Kommentar Fra : Torben Simonsen |
Dato : 13-01-03 14:05 |
|
Axel Eystein Jensen <axel@eystein.dk> writes:
> Torben Simonsen wrote:
> ...
> > Er der ikke noget med, at nohup redirigerer stdout og stderr til
> > en fil ved navn "nohup.out"?
> ...
> Jo, det har du vist ret i, men denne fil eksisterer ikke hos mig.
Måske har den bruger, du starter programmet som, ikke skriverettigheder
til det directory, det bliver startet i. I så fald vil nohup prøve at
lave filen i $HOME/nohup.out.
Se 'info nohup'.
--
-- Torben.
| |
Axel Eystein Jensen (13-01-2003)
| Kommentar Fra : Axel Eystein Jensen |
Dato : 13-01-03 14:09 |
|
Torben Simonsen wrote:
....
> Måske har den bruger, du starter programmet som, ikke skriverettigheder
> til det directory, det bliver startet i.
....
Joe, det har user, for det startes nemlig i brugerens home-dir.
....
> Se 'info nohup'.
....
Yup
--
Mvh.
Axel
| |
Mogens Kjaer (13-01-2003)
| Kommentar Fra : Mogens Kjaer |
Dato : 13-01-03 15:07 |
|
Axel Eystein Jensen wrote:
> Torben Simonsen wrote:
> ...
>
>> Er der ikke noget med, at nohup redirigerer stdout og stderr til
>> en fil ved navn "nohup.out"?
>
> ...
> Jo, det har du vist ret i, men denne fil eksisterer ikke hos mig.
Er det ikke kun, hvis der kommer noget til
stderr og stdout, at denne fil bliver lavet?
Det gør der netop ikke, når du har redirected outputtet.
Hvis det program, du starter, buffre outputtet, så
vil du opleve netop det, at der først kommer noget i filen
når programmet slutter, eller bufferen er løbet fuld.
Det kan kun rettes ved at rette i programmet, du prøver
at starte.
Mogens
--
Mogens Kjaer, Carlsberg A/S, Computer Department
Gamle Carlsberg Vej 10, DK-2500 Valby, Denmark
Phone: +45 33 27 53 25, Fax: +45 33 27 47 08
Email: mk@crc.dk Homepage: http://www.crc.dk
| |
Axel Eystein Jensen (13-01-2003)
| Kommentar Fra : Axel Eystein Jensen |
Dato : 13-01-03 15:17 |
|
Mogens Kjaer wrote:
....
> Det kan kun rettes ved at rette i programmet, du prøver
> at starte.
....
Uh, lige hvad jeg frygtede. Nåh, men jeg må jeg kigge lidt på det. Tak
for hjælpen
--
Mvh.
Axel
| |
Axel Eystein Jensen (13-01-2003)
| Kommentar Fra : Axel Eystein Jensen |
Dato : 13-01-03 16:29 |
|
Mogens Kjaer wrote:
....
> Hvis det program, du starter, buffre outputtet, så
> vil du opleve netop det, at der først kommer noget i filen
> når programmet slutter, eller bufferen er løbet fuld.
....
Hvis jeg ikke sender output til .txt-filerne, så kommer der løbende
output til konsollen. Betyder det ikke ikke, at programmet sender uden
eller med en lille buffer?
Er det forkert at bruge de der '>'? Skulle det have være en '|' i stedet?
--
Mvh.
Axel
| |
Mogens Kjaer (14-01-2003)
| Kommentar Fra : Mogens Kjaer |
Dato : 14-01-03 09:21 |
|
Axel Eystein Jensen wrote:
> Mogens Kjaer wrote:
> ...
>
>> Hvis det program, du starter, buffre outputtet, så
>> vil du opleve netop det, at der først kommer noget i filen
>> når programmet slutter, eller bufferen er løbet fuld.
>
> ...
> Hvis jeg ikke sender output til .txt-filerne, så kommer der løbende
> output til konsollen. Betyder det ikke ikke, at programmet sender uden
> eller med en lille buffer?
man setbuf
Hvis output er til en terminal, bliver det bufret linievis,
ellers er det blokvis (BUFSIZ).
>
> Er det forkert at bruge de der '>'? Skulle det have være en '|' i stedet?
>
Det gør ingen forskel.
Mogens
--
Mogens Kjaer, Carlsberg A/S, Computer Department
Gamle Carlsberg Vej 10, DK-2500 Valby, Denmark
Phone: +45 33 27 53 25, Fax: +45 33 27 47 08
Email: mk@crc.dk Homepage: http://www.crc.dk
| |
Flemming Joensson (13-01-2003)
| Kommentar Fra : Flemming Joensson |
Dato : 13-01-03 18:01 |
|
Axel Eystein Jensen <axel@eystein.dk> wrote in
news:3e22b2cc$0$71656$edfadb0f@dread11.news.tele.dk:
> Jeg har problemer med at logge et kørende programs output.
>
> Jeg starter programmet nogenlunde sådan:
> nohup ./server -port=xxxx -config=xxx.cfg >> log.txt 2>> error.txt
> &
Hvad bruger du til at læse filerne med mens der også skrives i dem?
Jeg kan desværre ikke huske hvad kommandoen er, men der er en kommando
til at læse filer mens de skrives.
Emacs, Vi, less, more osv. kan ikke vise filens indhold mens der
skrives til den fra en anden applikation - der skal man bruge den
kommando der er beregnet til det formål.
Flemming
--
Hvis du vil svare per e-mail skal "fjerndette." fjernes fra
mailadressen.
| |
Thomas Arildsen (13-01-2003)
| Kommentar Fra : Thomas Arildsen |
Dato : 13-01-03 18:14 |
|
Flemming Joensson wrote:
> Hvad bruger du til at læse filerne med mens der også skrives i dem?
>
> Jeg kan desværre ikke huske hvad kommandoen er, men der er en kommando
> til at læse filer mens de skrives.
>
> Emacs, Vi, less, more osv. kan ikke vise filens indhold mens der
> skrives til den fra en anden applikation - der skal man bruge den
> kommando der er beregnet til det formål.
Det har jeg med held brugt 'tail -f [fil]' til.
Prøv at taile en testfil og åbn så en ny terminal, hvor du echo'er et
eller andet (>>) til filen. Så vil du i terminalen, hvor tail kører, se
det blive skrevet ud.
Mvh. Thomas Arildsen
| |
Byrial Jensen (13-01-2003)
| Kommentar Fra : Byrial Jensen |
Dato : 13-01-03 20:07 |
|
Thomas Arildsen <tari00@REMOVETHIS.kom.auc.dk> skrev:
> Flemming Joensson wrote:
>>
>> Emacs, Vi, less, more osv. kan ikke vise filens indhold mens der
>> skrives til den fra en anden applikation - der skal man bruge den
>> kommando der er beregnet til det formål.
>
> Det har jeg med held brugt 'tail -f [fil]' til.
less kan også med F-kommandoen.
| |
Flemming Joensson (13-01-2003)
| Kommentar Fra : Flemming Joensson |
Dato : 13-01-03 21:33 |
|
Thomas Arildsen <tari00@REMOVETHIS.kom.auc.dk> wrote in
news:avus4q$9jg$1@sunsite.dk:
> Det har jeg med held brugt 'tail -f [fil]' til.
> Prøv at taile en testfil og åbn så en ny terminal, hvor du echo'er
> et eller andet (>>) til filen. Så vil du i terminalen, hvor tail
> kører, se det blive skrevet ud.
Jeps der var den "tail -f"
Flemming
--
Hvis du vil svare per e-mail skal "fjerndette." fjernes fra
mailadressen.
| |
Niels Teglsbo (14-01-2003)
| Kommentar Fra : Niels Teglsbo |
Dato : 14-01-03 17:03 |
|
Thomas Arildsen <tari00@REMOVETHIS.kom.auc.dk> wrote:
> Det har jeg med held brugt 'tail -f [fil]' til.
> Prøv at taile en testfil og åbn så en ny terminal, hvor du echo'er et
> eller andet (>>) til filen. Så vil du i terminalen, hvor tail kører, se
> det blive skrevet ud.
Og hvis man skriver flere filer sørger tail for at skrive filnavnet når der
sker noget i en ny fil.
--
Niels, The Offspring Mailinglist www.image.dk/~teglsbo
| |
Thomas Rasmussen (13-01-2003)
| Kommentar Fra : Thomas Rasmussen |
Dato : 13-01-03 19:30 |
|
Flemming Joensson <joensson@fjerndette.cs.auc.dk> writes:
> Emacs, Vi, less, more osv. kan ikke vise filens indhold mens der
> skrives til den fra en anden applikation - der skal man bruge den
> kommando der er beregnet til det formål.
Ikke helt korrekt, less kan sagtens sættes til at monitorere en fil,
når du har startet less, så taster du "F" og så kommer al output der
skrives i filen til syne efterhånden som de kommer.
Om more kan gøre det, ved jeg ikke, den er afskaffet for mit
vedkommende
Dog er tail -f filnavn nok den bedste måde at gøre det på, afhængigt
af hvad man vil. Fordelen ved at bruge less til det er, at hvis man
ser noget interessant i filen, så kan man afbryde den, scrolle
tilbage, og så taste F igen når man vil fortsætte monitoringen.
/Thomas
--
/"\ | Human Knowledge Belongs To The World
\ / | -- Milo Hoffman in "AntiTrust"
x |
/ \ <-- (ASCII Ribbon Campain against html emails and postings!)
| |
Flemming Joensson (13-01-2003)
| Kommentar Fra : Flemming Joensson |
Dato : 13-01-03 21:34 |
|
Thomas Rasmussen <simpsons@kom.auc.dk> wrote in
news:28pk7h8rjha.fsf@bart.aalk.auc.dk:
> Dog er tail -f filnavn nok den bedste måde at gøre det på, afhængigt
> af hvad man vil. Fordelen ved at bruge less til det er, at hvis man
> ser noget interessant i filen, så kan man afbryde den, scrolle
> tilbage, og så taste F igen når man vil fortsætte monitoringen.
Ok, tak for info, så nært har jeg ikke kendskab til less at jeg vidste
den også kunne det.
Flemming
--
Hvis du vil svare per e-mail skal "fjerndette." fjernes fra
mailadressen.
| |
sv-e (13-01-2003)
| Kommentar Fra : sv-e |
Dato : 13-01-03 23:47 |
|
> Axel Eystein Jensen <axel@eystein.dk> wrote in
>>Jeg har problemer med at logge et kørende programs output.
> Hvad bruger du til at læse filerne med mens der også skrives i dem?
>
> Jeg kan desværre ikke huske hvad kommandoen er, men der er en kommando
> til at læse filer mens de skrives.
>
> Emacs, Vi, less, more osv. kan ikke vise filens indhold mens der
> skrives til den fra en anden applikation - der skal man bruge den
> kommando der er beregnet til det formål.
>
> Flemming
>
Hej
Hvis man ønsker at se data fra std output, og samtidig skrive til en
fil, kam man bruge tee, se man tee. Så slipper man for først at åbne
logfilen for at bruge tail -f.
vh
sv-e
| |
|
|