Gå til innhold

Hvordan får jeg et python script til å bli kjørt ved oppstart


Anbefalte innlegg

Hei!

 

Jeg har min Raspberry Pi her med Debian installert som jeg gjerne skulle ha fått til å kjøre et python script ved oppstart (uten at jeg trenger å logge inn og starte det opp).

 

Har nemlig laget en TCP server som tar imot meldinger og egentlig skulle jeg hatt dette kjørende uten at jeg må inn og starte den opp (logger inn først ved putty).

 

Er ikke dette mulig? Finner en del via Google men det virker som det er forskjellige metoder? (WTF :p)

Lenke til kommentar
Videoannonse
Annonse

Du kan legge det til i /etc/rc.local for engangsoppstart.

 

Ettersom det er en tjeneste ville jeg laget et oppstartsscript i /etc/init.d og symlinke det til de aktuelle runlevels du vil kjøre det i. Alternativt kan du bruke update-rc.d for å lage symlinks automatisk.

Lenke til kommentar

Tror ikke du kan ha googla dette her South_Bridge :p

 

Enkelt og greit; som root redigerer du /etc/rc.local /etc/rc.d/rc.local. Der skriver du inn følgende:

 

su - brukernavn -c python "/path/til/ditt/pythonscript.py" &

su - brukernavn -c "python /path/til/ditt/pythonscript.py" &

 

Bytt ut "brukernavn" med brukernavnet du ønsker å kjøre skriptet som.

 

Lagre, og voilá!

Endret av v3g4rd
Lenke til kommentar

Tror ikke du kan ha googla dette her South_Bridge :p

 

Enkelt og greit; som root redigerer du /etc/rc.local /etc/rc.d/rc.local. Der skriver du inn følgende:

 

Debian har SysV init og ikke BSD init, så du vil ikke finne /etc/rc.d/rc.local på en Debian maskin.

 

Filen du isåfall er ute etter er /etc/rc.local (ikke /etc/init.d/rc.local, dette scriptet er det som kjører /etc/rc.local).

 

Dersom du ønsker å lage et startup script så må du inkludere litt meta informasjon og funksjoner for å starte og stoppe tjenesten dersom du ønsker å automatisere dette. Dette vil inkludere å lagre PID i en lock fil.

 

http://www.cyberciti...op-service.html er en litt gammel guide jeg fikk som første treff på google. Googling av lingnende termer samt en titt på de andre scriptene i /etc/init.d vil kunne hjelpe deg.

 

'update-rc.d oppstarsskript defaults' lager symlenker for helt standard oppstart i runlevels 2-5 og stopper i andre. Du kan titte på lenkene i /etc/rcX.d for å se hvordan det fungerer og eventuelt sette dem manuelt.

Endret av process
Lenke til kommentar

Debian har SysV init og ikke BSD init, så du vil ikke finne /etc/rc.d/rc.local på en Debian maskin.

Godt poeng. Dette glemte jeg rett og slett vekk i går kveld.

 

Alt bunner i grunn i hva trådstarter er ute etter. Vil han ha noe kjapt som funker der og da, eller vil han bruke mer tid på å lære seg å lage init scripts for Debian. Personlig ville jeg valgt sistnevnte fordi jeg liker å vite hvordan ting fungerer, men det er ikke alle som deler det synet og som bare ønsker at ting skal fungere.

Lenke til kommentar

Debian har SysV init og ikke BSD init, så du vil ikke finne /etc/rc.d/rc.local på en Debian maskin.

Godt poeng. Dette glemte jeg rett og slett vekk i går kveld.

 

Alt bunner i grunn i hva trådstarter er ute etter. Vil han ha noe kjapt som funker der og da, eller vil han bruke mer tid på å lære seg å lage init scripts for Debian. Personlig ville jeg valgt sistnevnte fordi jeg liker å vite hvordan ting fungerer, men det er ikke alle som deler det synet og som bare ønsker at ting skal fungere.

 

Personlig trenger jeg ikke å lære meg det... vil bare ha det up and running :D

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...