Autostarta ett program på RPi 0W

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6954
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Autostarta ett program på RPi 0W

Inlägg av Marta »

Har en RPi 0W med ett program kompilerat med gcc som skall autostarta när Linux kommit igång. Det funkar inte i /etc/rc.local, troligen för att den startar i singeluser mode. Den körs headless och hanteras via SSH. Minsta versionen av Raspbian, eller vad det huter nuförtiden.
Användarvisningsbild
Mickecarlsson
EF Sponsor
Inlägg: 3846
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Re: Autostarta ett program på RPi 0W

Inlägg av Mickecarlsson »

Skapa en systemd-fil och låt systemd sköta jobbet. Lite exempel här: https://www.howtogeek.com/687970/how-to ... h-systemd/
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6954
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: Autostarta ett program på RPi 0W

Inlägg av Marta »

För stökigt på alla sätt. Vill ha det så långt ut ur systemet som möjligt.
Användarvisningsbild
Mickecarlsson
EF Sponsor
Inlägg: 3846
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Re: Autostarta ett program på RPi 0W

Inlägg av Mickecarlsson »

Det funkar inte i /etc/rc.local, troligen för att den startar i singeluser mode
Kör du pajen i singleuser mode?
Har du testat /etc/inittab?
Zkronk
Inlägg: 1423
Blev medlem: 23 augusti 2005, 16:44:36
Ort: Uppsala

Re: Autostarta ett program på RPi 0W

Inlägg av Zkronk »

Säga vad man vill om systemd, men det är ändå relativt smidigt att få det att autostarta egna applikationer, samt att automatiskt starta om dom ifall de skulle krascha osv.
Användarvisningsbild
ojz0r
Inlägg: 249
Blev medlem: 14 september 2007, 19:38:04
Ort: Växjö

Re: Autostarta ett program på RPi 0W

Inlägg av ojz0r »

Jag har för mig att cron har ett alternativ att köra vid systemstart, kanske kan kolla på det?
guckrum
Inlägg: 1691
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: Autostarta ett program på RPi 0W

Inlägg av guckrum »

Daemontools, om du inte vill lämna något åt slumpen.

https://cr.yp.to/daemontools.html
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6954
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: Autostarta ett program på RPi 0W

Inlägg av Marta »

Tack för alla förslag.

Helst skall det köras som om det startats genom att skriva på kommandoraden av en user != root. Så system-fjärran som möjligt.

Programmet använder watchdogfunktionen i RPi. Dyker det eller den PIC som det hela tiden kommunicerar med slutar svara så skall allting göra reset. PIC får reset via GPIO när programmet startar.
guckrum
Inlägg: 1691
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: Autostarta ett program på RPi 0W

Inlägg av guckrum »

Daemontools kör servicen som en användare, och loggern som en annan. Men att sätta upp det kräver lite datorvana:-)
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6954
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: Autostarta ett program på RPi 0W

Inlägg av Marta »

Nu är det löst och fungerar. Det blev chron, tack för hjälpen.
"@reboot /path/command parameter" i chrontab, enkelt och lätt.
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6954
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: Autostarta ett program på RPi 0W

Inlägg av Marta »

En följdfråga på detta program.
Tyvärr finns det inget autostopp när strömmen försvinner av en eller annan anledning. Programmet självt loggar 128 bytes varje kvart och flushar filen direkt efter. Det borde rimligtvis ge låg sannolikhet för crashat filsystem.
Däremot har systemet i sig en förbannad massa processer igång, samt loggar och allt möjligt annat. Finns det någon beskrivning på vad och hur så mycket krafs som möjligt kan rensas för att minimera risken för en crash? Det är ext4 filsystem.
guckrum
Inlägg: 1691
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: Autostarta ett program på RPi 0W

Inlägg av guckrum »

Börja med att kolla att /tmp ligger i RAM.
Användarvisningsbild
ajje
Inlägg: 2360
Blev medlem: 12 mars 2010, 16:35:31
Ort: Smedjebacken

Re: Autostarta ett program på RPi 0W

Inlägg av ajje »

EXT4 är journalförande. Det ger en minskad risk för filsystemshaveri vid strömbortfall.
Inte eliminerad risk, men minskad i alla fall.

Ser man sedan till att /tmp och liknande ligger i RAMFS minskar det risken ytterligare.
Man kan ju även se till att /var/log hamnar där om man inte anser att loggning är viktigt.
(Är loggning viktigt är det bättre att se till att köra syslog remote)
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6954
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: Autostarta ett program på RPi 0W

Inlägg av Marta »

Tror att både /tmp och /var/tmp ligger i ram, men hur kontrollerar jag att så verkligen är fallet?

Angående ram, är det möjligt att stänga av bildminnet, eller i varje fall begränsa det till minsta möjliga? Hittar inget tydligt om detta.
guckrum
Inlägg: 1691
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: Autostarta ett program på RPi 0W

Inlägg av guckrum »

Kör "mount" och verifiera att de är tmpfs-filsystem.
Skriv svar