Avatar billede jonas82 Nybegynder
29. februar 2004 - 22:10 Der er 10 kommentarer og
1 løsning

Lukke et program der kører i loop.

Hej

Jeg har engang startet et program med komandoen:
while true; do nohup ./hlstats.pl; sleep 5; done &

Det er vældig smart hvis skidtet crasher, men hvis jeg gerne vil lukke processen, starter den bare igen...hvad gør jeg?
Avatar billede dank Nybegynder
01. marts 2004 - 22:54 #1
kill pid

f.eks.

ps aux | grep hlstats

Se nummeret ud til venstre

derefter

# kill nummeret_ude_til_venstre
Avatar billede jonas82 Nybegynder
02. marts 2004 - 13:23 #2
Ja, det ved jeg godt, men problemet er at det starter igen. Når jeg dræber hlstats, sker dette:

25101 ?        S      0:00 sleep 5
25102 pts/0    R      0:00 ps -x

Der går så lige et par sekunder, så starter hlstats igen.
Avatar billede dank Nybegynder
02. marts 2004 - 13:45 #3
så er det den forkert process du slår ned. Eller der er flere
Avatar billede jonas82 Nybegynder
02. marts 2004 - 14:16 #4
Det er den rigtige, og den dør også, men starter igen efter et par sekunder:

hlds@jonas1:~$ ps -x
  PID TTY      STAT  TIME COMMAND
8765 ?        S      0:00 -bash
25103 ?        S      0:00 /usr/bin/perl /hlds/hlstats/hlstats.pl
25140 ?        R      0:00 sshd: hlds@pts/0
25141 pts/0    S      0:00 -bash
25151 pts/0    R      0:00 ps -x
hlds@jonas1:~$ kill 25103
hlds@jonas1:~$ ps -x
  PID TTY      STAT  TIME COMMAND
8765 ?        S      0:00 -bash
25140 ?        R      0:00 sshd: hlds@pts/0
25141 pts/0    S      0:00 -bash
25152 ?        S      0:00 sleep 5
25153 pts/0    R      0:00 ps -x
hlds@jonas1:~$ ps -x
  PID TTY      STAT  TIME COMMAND
8765 ?        S      0:00 -bash
25140 ?        R      0:00 sshd: hlds@pts/0
25141 pts/0    S      0:00 -bash
25154 ?        S      0:00 /usr/bin/perl /hlds/hlstats/hlstats.pl
25156 pts/0    R      0:00 ps -x
hlds@jonas1:~$
Avatar billede jonas82 Nybegynder
13. marts 2004 - 14:03 #5
lukker
Avatar billede dank Nybegynder
13. marts 2004 - 16:32 #6
var mit svar forkert? Det kan jeg så fortælle det *ikke* er!
Avatar billede jonas82 Nybegynder
13. marts 2004 - 20:42 #7
Ehh, du svarede jo ikke på mit spørgsmål (i hvert fald ikke så jeg forstod det). Som jeg har forsøgt at skrive et par gange, var det IKKE nok at dræbe processen. Den startede bare igen!
Fik det i øvrigt først stoppet da jeg slettede hlstats.pl

Du skal da have tak for dit forsøg alligevel.
Avatar billede dank Nybegynder
13. marts 2004 - 23:07 #8
Tror vist du har helt misforstået hvordan unix hænger sammen. Hvis du mener det ikke var nok at dræbe den enkelt pid, så er du nok den eneste i verden.

Ikke min fejl, at du forsøger at lukke den forkert jo. Siden det genstarter er det jo den forkerte du lukker ned., som jeg skrev i anden kommentar..

Men never mind... jeg behøver jo ikke hjælpe dig
Avatar billede jonas82 Nybegynder
14. marts 2004 - 20:06 #9
Jeg ved ikke om du har læst mit første indlæg, men der står at processen er startet med:

while true; do nohup ./hlstats.pl; sleep 5; done &

Dette gør (som jeg har forstået det) at hvis man skriver <kill pid> starter den bare igen under et nyt pid.
Spørgsmålet gik på hvordan man stoppede det loop der startede processen igen.

Hvad mener du med at det er den forkerte jeg lukker ned? - Hvis vi tager udgangspunkt i det dump jeg har skrevet. Kan man se at:

1: hlstats har pid 25103
2: kill 25103
3: hlstats processen er væk
4: hlstats er startet igen med pid 25154

Og jo, jeg ville meget gerne have haft hjælp, men der gik 10 dage uden svar så jeg valgte at lukke.

Hvis du stadig mener dit svar er rigtigt, skal jeg da gerne give dig de 15 point...
Avatar billede dank Nybegynder
14. marts 2004 - 21:00 #10
ikke point men principper der gælder. Behold bare point...
Avatar billede jonas82 Nybegynder
16. marts 2004 - 17:55 #11
Burde loopet stoppe ved bare at dræbe processen, for det gør det altså ikke på min dist (slackware). Jeg synes, at jeg viser rimelig tydeligt at det ikke hjælper for mig at stoppe processen på alm. vis.

Jeg vil meget gerne have svar på følgende:

1) Hvis danks svar er rigtigt, hvad gør jeg så forkert når det ikke virker for mig?

2) Hvis danks svar er forkert, hvad gør man så?
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
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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