Avatar billede xenool Nybegynder
07. november 2009 - 14:52 Der er 7 kommentarer og
1 løsning

Følge et program ?

Når man starter et program i linux kan man følge hvad programmet laver hele tiden i en terminal. men hvis man lukker terminalen køre programmet stadig. Hvilket det egentlig også skal. Men hvis man gerne vil se hvad programmet laver igen hvis man åbner en ny terminal hvad kan man så gøre ?
Avatar billede bauerdata Nybegynder
07. november 2009 - 16:44 #1
prøv at starte programmet med kommandoen
nohup <cmd> &

Uddata fra programmet vil så blive skrevet i file $HOME/nohup.out

Når du lukker terminalen vil uddata stadeg blive tilføjet filen.

Starter du en ny terminal op kan du kigge i filen og se hvordan det går.

Der er måske et buffer problem.
Normalt vil linux flushe efter der er skrevet en block (på min er det 4096 bytes)  eller at filen lukkes, der kan således godt være flere data som du så først kan se når programmet afslutter.
Avatar billede xenool Nybegynder
07. november 2009 - 17:12 #2
skulle gerne være et eller andet hvor man kan følge det live. jeg har set det blive gjort engang jeg blev fjernstyret af en supporter. men kan ikke huske hvad han gjorde.
Avatar billede bauerdata Nybegynder
07. november 2009 - 17:24 #3
Så må programmet selv tilbyde noget.
Men hvad mener du egentligt med følge det live.
Er det en processoversigt.
Så prøv kommandoen top
Avatar billede xenool Nybegynder
07. november 2009 - 17:32 #4
når man køre en terminal og starte f.eks en ftp server. så skriver den hele tiden hvad den laver og hvad der sker (live). det kan du så blive ved med at se end til du lukker terminalen. det må da være muligt at fortsat at kunne se hvad der sker løbende ved at skabe kontakt igen på en måde. hvad der er sket imens den har været lukket er lige meget
Avatar billede bauerdata Nybegynder
08. november 2009 - 11:50 #5
Svaret er at bruge nohup <cmd>
og så følge med i $HOME/nohup.out
Du kan også
nohup <cmd> > "din_egen_fil"
og på den måde få output i en selvalgt fil.

Du kan følge med i uddata med kommandoen
tail -f <filnavn> &
Avatar billede skau Nybegynder
10. november 2009 - 16:19 #6
Prøv at kigge på screen kommandoen (skal muligvis installeres) hvis du starter programmer med screen kan du altid disconnecte og reconnecte til dit program.
Avatar billede skau Nybegynder
10. november 2009 - 16:20 #7
Avatar billede skau Nybegynder
10. november 2009 - 16:25 #8
screen har ydermere den fordel, at hvis dit program af og til kræver at du interagerer med det (svarer på spørgsmål eller lign) så kan du reconnecte til dit program og svare.

Nohup gør at når du logger ud overtager initprocessen ejerskabet af dit program - du kan derfor ikke bagefter reconnecte, du kan rigtigt nok se i en logfil at dit program beder om et eller andet men du har ingen muligheder for at svare.
Det er en af grundene til at screen er en bedre løsning.

nohup gør at dit program ikke dør når du logger ud, & tegnet i enden betyder at programmet kører i baggrunden - og hvis du kan skal se hvad der foregår er det måske en bedre løsning - men hvis du vil reconnecte og ha fuld kontrol - så er screen din ven
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester