Dal Skrevet 15. august 2008 Del Skrevet 15. august 2008 Hei! Jeg prøver å lage et startup-script for en deamon, slik at jeg kan skrive f.eks /etc/init.d/progsnutt start Jeg er totalt nybegynner innen Bash, men har klart å rote sammen følgende: #!/bin/bash . /etc/init.d/functions DAEMONPROG=/usr/bin/progsnutt NAME=ProgSnutt [ -x $DAEMONPROG ] || exit 0 # Set program options OPTIONS="-fd" #Start# start () { echo -n $"Starting $NAME " daemon --check $DAEMONPROG & RETVAL=$? echo [ $RETVAL -eq 0 ] && $DAEMONPROG #return $RETVAL echo $RETVAL } #Stop# stop () { echo -n $"Shutting down $NAME " killproc $DAEMONPROG echo } case "$1" in start) start ;; stop) stop ;; status) status $DAEMONPROG ;; esac Og det virker jo forsåvidt greit, bortsett fra "start"-scriptet. daemon har visst et parameter som heter --check som jeg har prøvd å legge inn, som visstnok skal forhindre at programmet starter opp en gang til hvis det allerede er startet. Men her starter det opp uansett! Dette er vel en IF-setning: [ $RETVAL -eq 0 ] && $DAEMONPROG, som sier at hvis $RETVAL er lik 0, så skal den kjøre $DAEMONPROG, stemmer ikke det? Men hvordan lage en ELSE-setning inn i dette, som f.eks sier "Programmet er allerede startet" hvis det faktisk er oppe og går? Det --check-parameteret må vel legge en verdi inn i $RETVAL på et vis? Hva / hvordan brukes egentlig $RETVAL? Hjeeelp! På forhånd takk. Lenke til kommentar
Dj_Offset Skrevet 16. august 2008 Del Skrevet 16. august 2008 Hvilken distro? Uansett, et godt utgangspunkt er å se på en annet startup-script på maskinen din, og husk at det er forskjeller mellom distribusjonene. Lenke til kommentar
Dal Skrevet 16. august 2008 Forfatter Del Skrevet 16. august 2008 Hvilken distro?Uansett, et godt utgangspunkt er å se på en annet startup-script på maskinen din, og husk at det er forskjeller mellom distribusjonene. Beklager, det glemte jeg å nevne, det er CentOS 5.2. Jeg har sett litt på de andre scriptene ja, og det er de som har fått meg så langt egentlig. Men jeg ser mange av scriptene har noe de kaller conditional restart, må vel være mulig å bruke noe av det for å sjekke om programmet allerede er oppe og går. Lenke til kommentar
Dj_Offset Skrevet 18. august 2008 Del Skrevet 18. august 2008 Men jeg ser mange av scriptene har noe de kaller conditional restart, må vel være mulig å bruke noe av det for å sjekke om programmet allerede er oppe og går. Joda, i allefall så lenge programmet er *stabilt*... 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å