/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
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


Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408857
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste