/ Forside / Teknologi / Hardware / Mac / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Mac
#NavnPoint
UlrikB 4810
kipros 1675
Klaudi 1010
myg 920
pifo 907
Stouenberg 838
molokyle 830
Bille1948 815
rotw 760
10  EXTERMINA.. 750
*nix spørgsmål
Fra : Morten Reippuert Knu~


Dato : 09-11-01 08:47

Hvordan stykker jeg et shell script under Mac OS X/Darwin sammen, der
løbende printer "top" ud til en text fil frem for til en terminal?

--
Venlig hilsen Morten Reippuert Knudsen... snart på iceBook, igen

<icq:131382336>

 
 
Thomas Bjorn Anderse~ (09-11-2001)
Kommentar
Fra : Thomas Bjorn Anderse~


Dato : 09-11-01 09:56

spam@reippuert.dk (Morten Reippuert Knudsen) writes:

> Hvordan stykker jeg et shell script under Mac OS X/Darwin sammen, der
> løbende printer "top" ud til en text fil frem for til en terminal?

top b -d 10 > kontinuerlig.top.listing

alternativt kan du f.eks. lave et cronjob der kører:
top -n 1 >> seneste.top.listing

Sidstnævnte kan også pakkes ind i
while true; do date > top.listing; top -n 1 > top.listing; sleep 4; done

Dog skal den lige omskrives til tcsh, med mindre du er fornuftig nok
til at bruge bash.

while ( 1 < 2)
top -n 1 > top.listing
sleep 4
end


Morten Reippuert Knu~ (11-11-2001)
Kommentar
Fra : Morten Reippuert Knu~


Dato : 11-11-01 00:59

Thomas Bjorn Andersen <thomas@gen-v.net> wrote:

> Dog skal den lige omskrives til tcsh, med mindre du er fornuftig nok
> til at bruge bash.

jeg er ikke fornuftig - og da jeg har vænnet mig til tsch, bliver jeg
det nok heller ikke lige med det samme

Tak, jeg blev lidt klogere, i al fald mht. til hvordan man skriver
output til en fil ">".

Nu er det "bare" at få skrevet et script, der vil det jeg vil:

Filen skal vise det traditionnelle top output inkl. listen over åbne
processer formateret pænt. Den skal opdateres ca. hvert 10 eller 20sek,
og slette det forrige output, ellers vokser textfilen sig ganske stor i
løbet af en dag.

Output'et skal vises reealtime med programmet "DesktopConsole" der kan
vise text på skrivebordet - i stedet for at vise top i et terminalvindue
skal det vises i DesktopConsoles vindue (uden rammer og scrollbar's)

--
Venlig hilsen Morten Reippuert Knudsen... snart på iceBook, igen

<icq:131382336>

Thomas Bjorn Anderse~ (11-11-2001)
Kommentar
Fra : Thomas Bjorn Anderse~


Dato : 11-11-01 01:34

spam@reippuert.dk (Morten Reippuert Knudsen) writes:

> Nu er det "bare" at få skrevet et script, der vil det jeg vil:
>
> Filen skal vise det traditionnelle top output inkl. listen over åbne
> processer formateret pænt. Den skal opdateres ca. hvert 10 eller 20sek,
> og slette det forrige output, ellers vokser textfilen sig ganske stor i
> løbet af en dag.

------ start af fil -----
#!/bin/sh
top b d 10 > /tmp/foo
------ slut paa fil -----


Michael Tysk-Anderse~ (11-11-2001)
Kommentar
Fra : Michael Tysk-Anderse~


Dato : 11-11-01 13:58

Thomas Bjorn Andersen <thomas@gen-v.net> wrote:

> spam@reippuert.dk (Morten Reippuert Knudsen) writes:
>
> > Nu er det "bare" at få skrevet et script, der vil det jeg vil:
> >
> > Filen skal vise det traditionnelle top output inkl. listen over åbne
> > processer formateret pænt. Den skal opdateres ca. hvert 10 eller 20sek,
> > og slette det forrige output, ellers vokser textfilen sig ganske stor i
> > løbet af en dag.
>
> ------ start af fil -----
> #!/bin/sh
> top b d 10 > /tmp/foo
> ------ slut paa fil -----

Morten du får nok ikke det ønskede resultat. Top bruger esc sekvenser
til at formatere output og det ser ikke pænt ud i DesktopConsole. Du kan
strippe esc formateringen i top med -l, men du skal samtidig fortælle
hvor mange gange den skal logge. Default er 1 gang.

En løsning kunne være at bruge ovenstående script med -l og køre det som
et cron job i et eller andet interval!
--
Mvh Michael Tysk-Andersen

Michael Tysk-Anderse~ (11-11-2001)
Kommentar
Fra : Michael Tysk-Anderse~


Dato : 11-11-01 15:25

Michael Tysk-Andersen <mta@mac.com> wrote:

> En løsning kunne være at bruge ovenstående script med -l og køre det som
> et cron job i et eller andet interval!

Hmm. Det er vist ikke nogen løsning alligevel da mindste cron interval,
svjv, er 1 minut.
--
Mvh Michael Tysk-Andersen

Klaus Alexander Seis~ (11-11-2001)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 11-11-01 18:37

Michael Tysk-Andersen skrev:

> Det er vist ikke nogen løsning alligevel da mindste cron interval,
> svjv, er 1 minut.

Så brug at(1) eller skriv en shell-wrapper i stil med

#!/bin/sh

while true
do
echo "Klokken er $(date +%H:%M:%S)."
sleep 1
done

# eof


// Klaus

--
><>°    vandag, môre, altyd saam

Morten Bo Johansen (10-11-2001)
Kommentar
Fra : Morten Bo Johansen


Dato : 10-11-01 14:02

On Fri, 9 Nov 2001, Morten Reippuert Knudsen <spam@reippuert.dk> wrote:

> Hvordan stykker jeg et shell script under Mac OS X/Darwin sammen, der
> løbende printer "top" ud til en text fil frem for til en terminal?


Det er ikke noget præcist svar på dit spørgsmål, da jeg ikke
kender Mac OS X/Darwin, men hvis din og min top virker ens, kan
du bruge f.eks. dette

top -b -n10 >top.data

som vil gemme 10 opdateringer af top-uddata i en fil.

Du kan så blot forhøje værdien af -n eller komme kommandoen ind
i en løkke.

while top -b >top.data
do
sleep 5
done



vh.

Morten

Søg
Reklame
Statistik
Spørgsmål : 177518
Tips : 31968
Nyheder : 719565
Indlæg : 6408647
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste