petterg Skrevet 5. desember 2003 Del Skrevet 5. desember 2003 Jeg har laget et lite program som ligger å overvåker saker og ting som skjer på en privat server. Denne fungerer i utgangs punktet bra, men en sjelden gang (etter å ha vært oppe i noen uker) dør den på uforstårlig vis. Som en dårlig løsning på problemet kunne jeg tenkt meg et script som kjøres en gang i timen (cron jobb) som sjekker om overvåkningsprogrammet kjører, og hvis det ikke kjører blir det startet. Noen som vet hvordan man lager et slikt script? Jeg tipper man må på et vis fange opp PID når programmet starter, lagre denne i en fil. (hvordan?) Deretter må scriptet sjekke om et program med denne PID kjører (hvordan?), evt starte programmet, og avslutte seg selv. (Jeg er ganske grønn på bash script) Lenke til kommentar
GNUfan Skrevet 5. desember 2003 Del Skrevet 5. desember 2003 Du kan jo sjekke om den kjører med 'pidof proggetditt', som returnerer prosessID-en til til proggetditt. Lenke til kommentar
xeon Skrevet 5. desember 2003 Del Skrevet 5. desember 2003 (endret) du kan faktisk bare bruke pidof til å starte den dersom den ikke kjører også if ! pidof <prog>; then <kommando for å starte prog> fi det den gjør er å starte programmet dersom den ikke (!) finner noe program som heter det... Endret 5. desember 2003 av xeon Lenke til kommentar
Langbein Skrevet 5. desember 2003 Del Skrevet 5. desember 2003 Som en dårlig løsning på problemet kunne jeg tenkt meg et script som kjøres en gang i timen (cron jobb) som sjekker om overvåkningsprogrammet kjører, og hvis det ikke kjører blir det startet. Jeg har en annen veldig enkel løsning på problemet så du slipper å bruke cron. Du kan lage et lite wrapper-script som starter selve programmet. F.eks noe ala: #!/bin/sh while ((1)); do ./ustabilt-program_v0.01 done Så vil altså programmet bli startet på nytt hver gang det kræsjer Lenke til kommentar
petterg Skrevet 6. desember 2003 Forfatter Del Skrevet 6. desember 2003 #!/bin/sh while ((1)); do ./ustabilt-program_v0.01 done Så vil altså programmet bli startet på nytt hver gang det kræsjer Kanskje ikke så dum ide. Må vel legge inn en pidof sjekk, slik Xeon og AMDfan foreslår, i while løkka for å hindre å få mange kopier av samme prosess? takker -pg Lenke til kommentar
DummeGaas Skrevet 6. desember 2003 Del Skrevet 6. desember 2003 Må vel legge inn en pidof sjekk, slik Xeon og AMDfan foreslår, i while løkka for å hindre å få mange kopier av samme prosess? Nei, loopen fortsetter ikke før programmet dør. Lenke til kommentar
petterg Skrevet 6. desember 2003 Forfatter Del Skrevet 6. desember 2003 ah selvsagt! Det er jo nesten genialt. (Og ganske flaut at jeg må ha det med teskje) takk Lenke til kommentar
petterg Skrevet 7. desember 2003 Forfatter Del Skrevet 7. desember 2003 La sh /path/to/script/my-script.sh & i rc.local, slik at det skal kjøre når maskina starter, og det funker. Problemet nå er bare at jeg ikke liker at dette skal kjøre som root. Det er et admin program, men jeg stoler ikke så mye på egene programerings ferdigheter at jeg tør å gi det root tilgang. Hvordan får jeg kjørt det som en annen bruker? Lenke til kommentar
Egil.B Skrevet 7. desember 2003 Del Skrevet 7. desember 2003 'su bruker -c kommando' Lenke til kommentar
petterg Skrevet 10. desember 2003 Forfatter Del Skrevet 10. desember 2003 glimrende takker igjen Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå