|
| Genstarte program der fejler Fra : Jimmy |
Dato : 28-02-03 03:35 |
|
Hej
Jeg har en applikation, der undertiden fejler og lukker, når den får for
meget at lave (gsmlib -> gsmsmsd).
Jeg ønsker automatisk at få den startet igen.
jeg har tænkt på at lave et perl/shell-script, der udfører en "ps aux" og
undersøger, som applikationen kører.
Hvis ikke skal den blot starte den.
Dette script ville jeg kalde fra Cron hvert minut.
Er der andre og bedre metoder?
mvh
Jimmy
| |
Mogens Kjaer (28-02-2003)
| Kommentar Fra : Mogens Kjaer |
Dato : 28-02-03 08:14 |
|
Jimmy wrote:
> Hej
>
> Jeg har en applikation, der undertiden fejler og lukker, når den får for
> meget at lave (gsmlib -> gsmsmsd).
>
> Jeg ønsker automatisk at få den startet igen.
>
> jeg har tænkt på at lave et perl/shell-script, der udfører en "ps aux" og
> undersøger, som applikationen kører.
> Hvis ikke skal den blot starte den.
> Dette script ville jeg kalde fra Cron hvert minut.
Var det ikke nemmest at starte applikationen i en løkke
i et script?
#!/bin/sh
until false
do
dinapplikation
done
Hvis applikationen ikke må genstartes for hurtigt,
kan du lægge en sleep ind før done.
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
| |
Peter Jensen (28-02-2003)
| Kommentar Fra : Peter Jensen |
Dato : 28-02-03 08:20 |
|
Jimmy wrote:
> jeg har tænkt på at lave et perl/shell-script, der udfører en "ps
> aux" og undersøger, som applikationen kører.
> Hvis ikke skal den blot starte den.
> Dette script ville jeg kalde fra Cron hvert minut.
>
> Er der andre og bedre metoder?
Prøv at bruge "pgrep" i stedet for "ps". "pidof" kan vist også bruges.
Bare lave et bash script med en if-sætning. Men som Mogens nævner, så er
det nok mere optimalt at køre programmet i en løkke.
--
PeKaJe
| |
Michael Wojciechowsk~ (28-02-2003)
| Kommentar Fra : Michael Wojciechowsk~ |
Dato : 28-02-03 09:04 |
|
On Fri, 28 Feb 2003 03:35:25 +0100, Jimmy
<nyhedsgruppe@get3_erstat_3_med_2_net.dk> wrote:
> Jeg har en applikation, der undertiden fejler og lukker, når den får
> for meget at lave (gsmlib -> gsmsmsd).
Ahh .. den udgave af gsmsmsd, jeg brugte, crashede, hvis jeg gav den
"forkert" input. Checker du de data du giver til gsmsmsd? Hvis ikke,
burde du måske gøre det.
> Jeg ønsker automatisk at få den startet igen.
> Er der andre og bedre metoder?
Du kunne bruge daemontools < http://cr.yp.to/daemontools.html> til at
holde øje med, om gsmsmsd kører. Daemontools vil selv genstarte
applikationen, når det er nødvendigt.
Der er igen grund til at lave hjemmelavede lappeløsninger IMHO.
--
Michael Wojciechowski
One must suffer before enlightenment.
| |
Jimmy (28-02-2003)
| Kommentar Fra : Jimmy |
Dato : 28-02-03 11:40 |
|
"Michael Wojciechowski" <wojci@stofanet.dk> wrote in message
news:3e5f1801$0$19110$ba624c82@nntp02.dk.telia.net...
> On Fri, 28 Feb 2003 03:35:25 +0100, Jimmy
> <nyhedsgruppe@get3_erstat_3_med_2_net.dk> wrote:
>
> > Jeg har en applikation, der undertiden fejler og lukker, når den får
> > for meget at lave (gsmlib -> gsmsmsd).
>
> Ahh .. den udgave af gsmsmsd, jeg brugte, crashede, hvis jeg gav den
> "forkert" input. Checker du de data du giver til gsmsmsd? Hvis ikke,
> burde du måske gøre det.
Ja det gør jeg.
Jeg har rapporteret buggen til forfatteren.
Den opstår, når man placerer en textfil med invalide data - f.eks. en tom
fil - i gsmsmsd's spooldir.
Så bruger gsmsmsd flere og flere ressourcer til den til sidst bruger 100%
Nej, problemet er under stresstest.
Jeg sender 100 SMS vha gsmsmsd til den *selv* og den skal så samtidig
modtage de 100 SMS.
> > Jeg ønsker automatisk at få den startet igen.
> > Er der andre og bedre metoder?
>
> Du kunne bruge daemontools < http://cr.yp.to/daemontools.html> til at
> holde øje med, om gsmsmsd kører. Daemontools vil selv genstarte
> applikationen, når det er nødvendigt.
Fedt!
Tak for det.
> Der er igen grund til at lave hjemmelavede lappeløsninger IMHO.
Helt enig.
Jeg kender bare så lidt til Linux, at det ofte er min eneste udvej.
Til de andre:
Hvis jeg kører et .sh script med den omtalte løkke, vil scriptet så ikke
køre i en uendelighed og dræne ressourcer?
mvh
Jimmy
| |
Peter Jensen (28-02-2003)
| Kommentar Fra : Peter Jensen |
Dato : 28-02-03 12:11 |
|
Jimmy wrote:
> Til de andre:
> Hvis jeg kører et .sh script med den omtalte løkke, vil scriptet så
> ikke køre i en uendelighed og dræne ressourcer?
Hvis programmet går i baggrunden, så ja. Jeg kendte ikke det omtalte
program, så jeg antog at det bare kørte og blokerede scriptet. Næste
gennemgang af løkken kommer så først når programmet afsluttes.
--
PeKaJe
| |
Michael Wojciechowsk~ (28-02-2003)
| Kommentar Fra : Michael Wojciechowsk~ |
Dato : 28-02-03 16:34 |
|
On Fri, 28 Feb 2003 11:39:53 +0100, Jimmy
<nyhedsgruppe@get3_erstat_3_med_2_net.dk> wrote:
> Ja det gør jeg.
> Jeg har rapporteret buggen til forfatteren.
> Den opstår, når man placerer en textfil med invalide data -
> f.eks. en tom
> fil - i gsmsmsd's spooldir.
Netop. Jeg gad blot ikke at fortælle forfatteren om det ;).
> Så bruger gsmsmsd flere og flere ressourcer til den til sidst bruger
> 100%
I mit tilfælde gik daemonen blot ned.
> Nej, problemet er under stresstest.
> Jeg sender 100 SMS vha gsmsmsd til den *selv* og den skal så
> samtidig modtage de 100 SMS.
Det script eller program, som modtager sms-beskederne fra gsmsmsd (der
er en option, SVJH) kunne jo passende indføre nogle delays. Måske vil
det hjælpe.
Du kunne jo også finde ud af, gsmsmsd vil begynde at opføre sig
normalt, hvis du indsætter en pause mellem hver besked der sendes.
--
Michael Wojciechowski
One must suffer before enlightenment.
| |
Jimmy (28-02-2003)
| Kommentar Fra : Jimmy |
Dato : 28-02-03 17:31 |
|
"Michael Wojciechowski" <wojci@stofanet.dk> wrote in message
news:3e5f814d$0$25845$ba624c82@nntp03.dk.telia.net...
> On Fri, 28 Feb 2003 11:39:53 +0100, Jimmy
> <nyhedsgruppe@get3_erstat_3_med_2_net.dk> wrote:
>
> > Ja det gør jeg.
> > Jeg har rapporteret buggen til forfatteren.
> > Den opstår, når man placerer en textfil med invalide data -
> > f.eks. en tom
> > fil - i gsmsmsd's spooldir.
>
> Netop. Jeg gad blot ikke at fortælle forfatteren om det ;).
Tak tak
> > Nej, problemet er under stresstest.
> > Jeg sender 100 SMS vha gsmsmsd til den *selv* og den skal så
> > samtidig modtage de 100 SMS.
>
> Det script eller program, som modtager sms-beskederne fra gsmsmsd (der
> er en option, SVJH) kunne jo passende indføre nogle delays. Måske vil
> det hjælpe.
Det kan jeg ikke se, hvordan det skulle kunne.
gsmsmsd kalder blot et script hver gang den modtager en SMS.
Jeg kan ikke ændre på, hvornår gsmsmsd kalder scriptet eller spooler
spooldiret.
Mvh
Jimmy
| |
Michael Wojciechowsk~ (01-03-2003)
| Kommentar Fra : Michael Wojciechowsk~ |
Dato : 01-03-03 15:05 |
|
On Fri, 28 Feb 2003 17:31:05 +0100, Jimmy
<nyhedsgruppe@get3_erstat_3_med_2_net.dk> wrote:
> Det kan jeg ikke se, hvordan det skulle kunne. gsmsmsd kalder blot
> et script hver gang den modtager en SMS. Jeg kan ikke ændre på,
> hvornår gsmsmsd kalder scriptet eller spooler spooldiret.
Hvis gsmsmsd laver en fork hver gang der kommer en ny besked, og
udfører scriptet, er der selvfølgeligt ikke ret meget at gøre. Der
bliver blot ikke udført nogen fork instruktioner. I hvert fald i
gsmlib-1.10, som jeg brugte. (*)
Følgende bekræfter det:
[wojci@maskine gsmlib-1.10]# grep -i -r fork *
TODO:- add fork to gsmsmsd
Så hvis du tilføjer f. eks. "sleep 1" til enden af dit script, som
modtager SMS-beskeder, vil gsmsmsd modtage en besked, sove 1 sekund,
og være klar til at modtage den næste.
* Jeg kunne selvfølgeligt have overset noget ..
--
Michael Wojciechowski
One must suffer before enlightenment.
| |
Kjeld Flarup (01-03-2003)
| Kommentar Fra : Kjeld Flarup |
Dato : 01-03-03 09:18 |
|
Jimmy wrote:
> Er der andre og bedre metoder?
standard måden er at bruge inittab
--
------------------------- Med Liberalistiske Hilsner --------------------------
Civilingeniør, Kjeld Flarup - Mit sind er mere åbent end min tegnebog
Ådalen 8, Mogenstrup, 7800 Skive, Tlf: 40 29 41 49, Fax: 96 95 74 48
Den ikke akademiske hjemmeside for liberalismen - www.liberalismen.dk
| |
Claus Albøge (01-03-2003)
| Kommentar Fra : Claus Albøge |
Dato : 01-03-03 15:40 |
| | |
|
|