/ 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
Spm om processer - ps
Fra : - ct


Dato : 28-02-02 11:21

Ny Linux-bruger har et spm:

med ps ax kan jeg se hvilke processer som er i gang, men jeg er ikke vant
til at tænke i processor!!!

Jeg er gammel dos-bruger - og har egentlig vænnet mig til at tænke på
følgende måde:
Når procesen er vist færdig på skærmen er den slut!

Men med ps ax kan jeg se at processor som er kørt ligger og sover... angivet
med S

Hvad er meningen med det ?
Vil de blive ved med "at sove" (i alt evighed) med mindre jeg slår dem ihjel
med kill ?

Tillægs-spørgsmål:

Jeg har læst at man også kan skrive
kill -9 PID
eller
kill -sigkill PID
???

Men hvad medfører
kill -sigkill PID
???

På forhånd tak

Mange hilsner fra
Carsten

e-mail:
cajuth(remove_***_this)@worldonline.dk
cajuth(fjern_dette_i_parantes)@worldonline.dk




 
 
Peter Makholm (28-02-2002)
Kommentar
Fra : Peter Makholm


Dato : 28-02-02 14:25

"- ct" <cajuth(remove_***_this)@worldonline.dk> writes:

> med ps ax kan jeg se hvilke processer som er i gang, men jeg er ikke vant
> til at tænke i processor!!!

Lige en detalje: Processor (ental) er det som Intel og AMD tjener penge på
(kaldes også CPU), processer (flertal) er det du har problemer med.

>
> Jeg er gammel dos-bruger - og har egentlig vænnet mig til at tænke på
> følgende måde:
> Når procesen er vist færdig på skærmen er den slut!

Velkommen til et rigtigt styresystem. (I den sammenhæng er selv Win95
et rigtigt styresystem).

> Men med ps ax kan jeg se at processor som er kørt ligger og sover... angivet
> med S

Hvis du kun har en CPU er der kun en process der kan køre ad
gangen. Alle andre processer sover. At top og ps så alligevel engang
imellem viser to ikke-sovende processer er en lille fejl.

> Vil de blive ved med "at sove" (i alt evighed) med mindre jeg slår dem ihjel
> med kill ?

Nej, på et tidspunkt vil de få tildelt en skive tid og kan så udføre
et stykke arbejde. Men oftest vil de ligge og vente på inddata af den
ene eller anden slags.

> Men hvad medfører
> kill -sigkill PID

Du slår processen ihjeld uden at give den mulighed for at ryde op
efter sig ordentligt. Det data den ikke har skrevet ud på disken er
tabt.


--
Emacs er det eneste moderne styresystem der ikke er multitrådet.

Kent Friis (28-02-2002)
Kommentar
Fra : Kent Friis


Dato : 28-02-02 18:30

Den Thu, 28 Feb 2002 14:24:40 +0100 skrev Peter Makholm:
>"- ct" <cajuth(remove_***_this)@worldonline.dk> writes:
>
>> Men med ps ax kan jeg se at processor som er kørt ligger og sover...
>angivet med S
>
>Hvis du kun har en CPU er der kun en process der kan køre ad
>gangen. Alle andre processer sover. At top og ps så alligevel engang
>imellem viser to ikke-sovende processer er en lille fejl.

fra ps(1):

PROCESS STATE CODES
D uninterruptible sleep (usually IO)
R runnable (on run queue)
S sleeping
T traced or stopped
Z a defunct ("zombie") process

Bemærk at der står "runnable", ikke "running". Ellers ville det jo
altic være ps/top der stod som R på en single-processor, og dermed ville
feltet ikke give mening.

Mvh
Kent
--
http://www.celebrityshine.com/~kfr/ - to nye tegninger.

- ct (01-03-2002)
Kommentar
Fra : - ct


Dato : 01-03-02 06:39

Tak for god forklaring!

Er
kill -sigkill PID
og
kill -9 PID
så det samme ???

I øvrigt er "kill -sigkill PID" ikke dokumenteret i hverken "man kill"
eller i bogen "Linux in a nutshell"...
(i hvert fald ikke så vidt jeg kan se)!

--
Best regards / Mange hilsner fra
Carsten

Carsten J. Thomsen
Denmark / 2630 Taastrup

e-mail:
cajuth(remove_***_this)@worldonline.dk
cajuth(fjern_dette_i_parantes)@worldonline.dk




Niels Andersen (02-03-2002)
Kommentar
Fra : Niels Andersen


Dato : 02-03-02 08:13

"- ct" <cajuth(remove_***_this)@worldonline.dk> wrote in message
news:OGJf8.13390$PE.979666@news000.worldonline.dk...
> I øvrigt er "kill -sigkill PID" ikke dokumenteret i hverken "man kill"
> eller i bogen "Linux in a nutshell"...
> (i hvert fald ikke så vidt jeg kan se)!

Så får du da lige noget fra min `man kill`:

KILL(1) Linux User's Manual KILL(1)

NAME
kill - report process status

SYNOPSIS
kill pid ... Send SIGTERM to every process listed.
kill signal pid ... Send a signal to every process listed.
kill -s signal pid ... Send a signal to every process listed.
kill -l List all signal names.
kill -l signal Convert a signal number into a name.

DESCRIPTION
The default signal for kill is TERM. Use -l or -L to list
available signals. Particularly useful signals include
HUP, INT, KILL, STOP, CONT, and 0. Alternate signals may
be specified in three ways: -9 -SIGKILL -KILL.

SIGNALS
The signals listed below may be available for use with
kill. When known constant, numbers and default behavior
are shown.

Name Num Action Description
[...]
HUP 1 exit
INT 2 exit
KILL 9 exit this signal may not be blocked
[...]
TERM 15 exit
[...]
STOP stop this signal may not be blocked
CONT restart continue if stopped, otherwise ignore
[...]

NOTES
Your shell (command line interpreter) may have a built-in
kill command. You may need to run the command described
here as /bin/kill to solve the conflict.
[...]

--
Mvh.

Niels Andersen



Niels Andersen (28-02-2002)
Kommentar
Fra : Niels Andersen


Dato : 28-02-02 15:08

"- ct" <cajuth(remove_***_this)@worldonline.dk> wrote in message
news:pspf8.13127$PE.926421@news000.worldonline.dk...
> med ps ax kan jeg se hvilke processer som er i gang, men jeg er ikke vant
> til at tænke i processor!!!

Du mener vel processer begge gange... :)

> Jeg er gammel dos-bruger - og har egentlig vænnet mig til at tænke på
> følgende måde:

Der kørte man ét program af gangen, og det kørte til det var færdigt. Det
måtte man bare leve med.

> Men med ps ax kan jeg se at processor som er kørt ligger og sover...
angivet
> med S
> Hvad er meningen med det ?

Med forbehold, jeg er ikke helt sikker i dette. Måske er der noget jeg har
misforstået. Der er nok en eller anden der er klogere som siger til, hvis
der e rnoget galt.

Det er typisk programmer, som ligger og venter på at der sker noget. Det
"noget" kan være rigtigt mange ting.

> Jeg har læst at man også kan skrive
> kill -9 PID
> eller
> kill -sigkill PID

Hvis jeg husker (og har forstået) rigtigt:
Default signat er nummer 15. Den bliver sendt, hvis du ikke angiver noget.
"kill -15 PID" betyder "Hey, PID! Gider du ikke lige lukke dig ned og
forsvinde?"
"kill -9 PID" der imod prøver at tvinge processen til at lukke ned her og
nu, uden at gøre noget først (fx. gemme data). Hvis 15'eren ikke virker
(processen kan bare sige "nej jeg vil ej"), så plejer en 9'er at virke.
Jeg tror vist, at når 9'eren ikke lukker et program, så er det fordi du har
gjort noget helt galt, eller fordi du er ved det.

Når du lukker en linux-maskine ned sender den en signal 15 til alle
processor. Så får de lidt tid til at skrive i logfiler osv. De processer der
efter et stykke tid stadig eksisterer får en signal 15. "Goodbye, blev der
sagt", og så kan Linux lukke ned.

--
Mvh.

Niels Andersen



Peter Makholm (01-03-2002)
Kommentar
Fra : Peter Makholm


Dato : 01-03-02 13:01

"- ct" <cajuth(remove_***_this)@worldonline.dk> writes:

> Er
> kill -sigkill PID
> og
> kill -9 PID
> så det samme ???

For SIGKILL er det ligemeget om man bruger det symbolske navn eller
bruger signalnummeret. Det samme gælder for en række andre af de af
POSIX specificerede signaler inklusive HUP, INT, QUIT, ALRM og TERM.

Bruger man andre signaler og ønsker portabilitet bør man bruge det
symbolske navn. Bare hvis man porterer fra Linux/Alpha til Linux/Sparc
er der forskel på signalnumrene.

--
Emacs er det eneste moderne styresystem der ikke er multitrådet.

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

Månedens bedste
Årets bedste
Sidste års bedste