En liten kommentar efter att ha läst igen om tråden. Tänker jag fel som skulle skulle försöka lösa själva grundproblemet med crontab istället?
Naturligtvis beror det lite på hur scriptet är utformat, men det finns ju inget som hindrar att scriptet körs en gång per minut sedan datorn startas.
Om det är fel tänkt, berätta gärna varför.
raspberry starta python script vid boot
Re: raspberry starta python script vid boot
Med crontab så kan du bara starta det.
Om du gör det som en service så kan du starta, stoppa, starta om och eventuellt även kolla status (om det körs eller inte). Du får också möjligheten att välja i vilke runlevels du ska köra det om du kanske vill kunna starta upp burken utan att det är igång.
Detta är kanske inga saker som du verkligen behöver, men det är snyggare lösningar och det är dessutom lättare att se hur grejerna hänger ihop.
Starta med cron går ju iofs, men vad händer om cron av nån anledning inte körs?
Om du gör det som en service så kan du starta, stoppa, starta om och eventuellt även kolla status (om det körs eller inte). Du får också möjligheten att välja i vilke runlevels du ska köra det om du kanske vill kunna starta upp burken utan att det är igång.
Detta är kanske inga saker som du verkligen behöver, men det är snyggare lösningar och det är dessutom lättare att se hur grejerna hänger ihop.
Starta med cron går ju iofs, men vad händer om cron av nån anledning inte körs?
- JimmyAndersson
- Inlägg: 26456
- Blev medlem: 6 augusti 2005, 21:23:33
- Ort: Oskarshamn (En bit utanför)
- Kontakt:
Re: raspberry starta python script vid boot
xxargs: Tack! Mycket intressant läsning.
Och jajjamensan, med ps x ser jag att scriptet körs.
Så alltså, i Raspian (Raspberry Pi-portad Debian) :
För att köra: sudo nohup ./scriptnamn.py &
Då kan man logga ut och logga in igen.
För att se så det fortfarande då körs: sudo ps x
För att 'stoppa': Leta upp rätt PID-nr och skriv: sudo kill nr
("nr" ersätts alltså av PID-nummret.)
Parentes:
I mitt fall måste jag ha med "sudo" eftersom det inte går att logga in på root-kontot via SSH, som jag kör med.
Det behövs även för att mitt script pratar med hårdvara som en vanlig användare inte kommer åt.

Och jajjamensan, med ps x ser jag att scriptet körs.
Så alltså, i Raspian (Raspberry Pi-portad Debian) :
För att köra: sudo nohup ./scriptnamn.py &
Då kan man logga ut och logga in igen.
För att se så det fortfarande då körs: sudo ps x
För att 'stoppa': Leta upp rätt PID-nr och skriv: sudo kill nr
("nr" ersätts alltså av PID-nummret.)
Parentes:
I mitt fall måste jag ha med "sudo" eftersom det inte går att logga in på root-kontot via SSH, som jag kör med.
Det behövs även för att mitt script pratar med hårdvara som en vanlig användare inte kommer åt.
Re: raspberry starta python script vid boot
> men det finns ju inget som hindrar att scriptet körs en gång per minut sedan datorn startas.
Inte i princip, men eftersom det är ett Python script så får man en laddning
och initiering av Python miljön varje gång. Kanske lite onödigt om man ändå
vill att något ska göras varje minut, då kan det lika gärna ligga igång.
> Med crontab så kan du bara starta det.
Det är väl inget som hindrar att cron startar det vid en tidpunkt
och stoppar det vid en annan. Om man nu vill göra just det.
> ...men vad händer om cron av nån anledning inte körs?
Då kanske man har större problem och det är inte lika viktigt
att Python scriptet körs just då. Det beror ju lite på vad det görs.
Men om inte cron körs så lär man ha större problem...
Inte i princip, men eftersom det är ett Python script så får man en laddning
och initiering av Python miljön varje gång. Kanske lite onödigt om man ändå
vill att något ska göras varje minut, då kan det lika gärna ligga igång.
> Med crontab så kan du bara starta det.
Det är väl inget som hindrar att cron startar det vid en tidpunkt
och stoppar det vid en annan. Om man nu vill göra just det.
> ...men vad händer om cron av nån anledning inte körs?
Då kanske man har större problem och det är inte lika viktigt
att Python scriptet körs just då. Det beror ju lite på vad det görs.
Men om inte cron körs så lär man ha större problem...

Re: raspberry starta python script vid boot
Men kör du det från init-script så körs alla de som root så där behöver du inte ha med sudo.
Sen om ditt script pratar med hårdvara som ligger under /dev/ så går det ju att ändra rättigheter där. Typexemplet är modem, där det oftast finns en grupp i systemet som heter modem eller dialout som har skrivrättigheter till de devices som är modem.
http://unix.stackexchange.com/questions ... thout-root
Problemet är ju att det som ligger under /dev inte är vanliga filer, mycket som ligger där skapas dynamiskt vid boot och det innebär att om du ändrar rättigheter eller ägare så försvinner de vid omstart. Då får man använda udev för att sätta rätt ägare och rättigheter när devicen skapas.
http://reactivated.net/writing_udev_rul ... #ownership
Sen om ditt script pratar med hårdvara som ligger under /dev/ så går det ju att ändra rättigheter där. Typexemplet är modem, där det oftast finns en grupp i systemet som heter modem eller dialout som har skrivrättigheter till de devices som är modem.
http://unix.stackexchange.com/questions ... thout-root
Problemet är ju att det som ligger under /dev inte är vanliga filer, mycket som ligger där skapas dynamiskt vid boot och det innebär att om du ändrar rättigheter eller ägare så försvinner de vid omstart. Då får man använda udev för att sätta rätt ägare och rättigheter när devicen skapas.
http://reactivated.net/writing_udev_rul ... #ownership
Re: raspberry starta python script vid boot
Nej, men det jag menar är att med init-script så kan man köra kommandon som:sodjan skrev:
Det är väl inget som hindrar att cron startar det vid en tidpunkt
och stoppar det vid en annan. Om man nu vill göra just det.
service <my_service> start
service <my_service> stop
service <my_service> restart
Istället för att sitta och köra ps x och leta efter PID och köra kill och krångel.