Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Script wil niet starten tijdens boot.  (gelezen 1751 keer)

Script wil niet starten tijdens boot.
« Gepost op: 2022/07/16, 18:00:58 »
OS: Raspbian GNU/Linux 11 (bullseye) armv
Host: Raspberry Pi Zero 2 W Rev 1.0
Kernel: 5.15.32-v7+

Om een programma (manueel) op te starten doe ik:

Methode1    :)
---------------
1. cd  ~/Documents/BME280_SSD1306/
2. python3 bme280ssd1306.py  (kan ook met ./bme280ssd1306 [file is executable])
=====================================================================


Methode 2    :)
----------------
of met een bash script:
1. cd ~
2. ./ bme280ssd1306.sh
==========================================


file bme280ssd1306.sh:
#!/bin/bash
cd /home/pi/Documents/BME280_SSD1306
./bme280ssd1306.py &


Beide methoden werken goed.

Nu wil ik dit process automatisch tijdens 'boot'  laten opstarten.

Heb eerst geprobeerd met het bash script( bme280ssd1306.sh)  in /etc/rc.local te plaatsen. Geen foutmelding maar het script wordt niet uitgevoerd.   :|
Toen geprobeerd met (sudo) crontab :   @reboot sleep 5 && /home/pi/bme280ssd1306.sh. Geen foutmelding maar weer wordt het script niet uitgevoerd.   :|

Conclusie: Manueel lukt het prima, maar automatisch lukt het niet.    :rolleyes:
Wat gaat hier niet goed ?







𝕸𝖎𝖘𝖈𝖊𝖗𝖊 𝖚𝖙𝖎𝖑𝖊 𝖉𝖚𝖑𝖈𝖎. (Ter leering ende vermaeck)
𝕹𝖎𝖑 𝖛𝖔𝖑𝖊𝖓𝖙𝖎𝖇𝖚𝖘 𝖆𝖗𝖉𝖚𝖚𝖒. (Niets is moeilijk voor hen die willen)
https://henk.oegema.com  (Op RaspberryPi2)
Registered linux user 520520.  In gebruik: Ubuntu  24.04 Hobby's: Radio Amateur callsign: PA2HO.  Interesses: Raspberry Pi & Arduino & TELLO drone (voor AI)

Offline vanadium

  • Lid
Re: Script wil niet starten tijdens boot.
« Reactie #1 Gepost op: 2022/07/16, 18:14:30 »
Programma's in crontab lopen in een zeer gelimiteerde omgeving - er is mogelijk zelfs geen PATH. Zorg er dus voor dat je voor alle uitvoerbare bestanden steeds de volledige padnaam opgeeft, zowel voor het cron commando als voor het uit te voeren script. En gebruik géén variabelen (vb $HOME) noch bash expansies (vb ~).

Offline peer

  • Lid
Re: Script wil niet starten tijdens boot.
« Reactie #2 Gepost op: 2022/07/17, 09:40:20 »
in crontab èn in scripts altijd commando's met volledig pad gebruiken.
Voeg wat regels toe aan je script waarin je een logfile vult bv.
echo "script is gestart" > /home/<user>/log.txt
echo "script is geëindigd" >> /home/<user>/log.txt
Dan weet je zeker of het script gestart zit en kun je erachter komen waar de fout precies zit

Re: Script wil niet starten tijdens boot.
« Reactie #3 Gepost op: 2022/07/17, 09:50:15 »
zelf zet ik in het begin van de bashfile zelf een:
sleep 60sZodat het systeem ondertussen volledig klaar is om alles te kunnen uitvoeren.

groeten van Michael
Mint Cinnamon fan  Mint cinnamon-22.1   (vorige linux: LMDE-6 / Mint cinnamon-21+20+19+18+17 / Ubuntu-16+14+12)

Re: Script wil niet starten tijdens boot.
« Reactie #4 Gepost op: 2022/07/17, 14:03:49 »
Dankzij de aanwijzingen van de forumleden heb ik het eindelijk voor elkaar gekregen.  Na (héééél) veel uit proberen.   

bme280ssd1306.sh:     :)
**********************************************
#!/bin/bash
echo "script is gestart" > /home/pi/logstart.txt
cd /home/pi/Documents/BME280_SSD1306
./bme280ssd1306.py & 
echo "script is gegestopt" > /home/pi/logstop.txt
***********************************************

crontab -l:     :)
*******************************************************************************
# m h  dom mon dow   command
@reboot sleep 5 ; cd /home/pi/Documents/BME280_SSD1306 ; ./bme280ssd1306.sh
*******************************************************************************

Deze werkt niet.
crontab -l:     :|
*******************************************************************************
# m h  dom mon dow   command
@reboot sleep 5 ; cd /home/pi/Documents/BME280_SSD1306
@reboot ./bme280ssd1306.sh
*******************************************************************************

De kortste oplossing is uiteindelijk dit geworden:
(dus zonder het bash script)
*******************************************************************************
# m h  dom mon dow   command
@reboot sleep 5 ; cd /home/pi/Documents/BME280_SSD1306 ; ./bme280ssd1306.py
*******************************************************************************


Dank aan eenieder voor de hulp.   :)
𝕸𝖎𝖘𝖈𝖊𝖗𝖊 𝖚𝖙𝖎𝖑𝖊 𝖉𝖚𝖑𝖈𝖎. (Ter leering ende vermaeck)
𝕹𝖎𝖑 𝖛𝖔𝖑𝖊𝖓𝖙𝖎𝖇𝖚𝖘 𝖆𝖗𝖉𝖚𝖚𝖒. (Niets is moeilijk voor hen die willen)
https://henk.oegema.com  (Op RaspberryPi2)
Registered linux user 520520.  In gebruik: Ubuntu  24.04 Hobby's: Radio Amateur callsign: PA2HO.  Interesses: Raspberry Pi & Arduino & TELLO drone (voor AI)

Offline vanadium

  • Lid
Re: Script wil niet starten tijdens boot.
« Reactie #5 Gepost op: 2022/07/17, 15:32:13 »
Met het script had het zo gekund:

@reboot sleep 5 ; /home/pi/Documents/BME280_SSD1306/bme280ssd1306.sh

dus direct het script aanroepen na het sleep commando.

Re: Script wil niet starten tijdens boot.
« Reactie #6 Gepost op: 2022/07/18, 11:56:16 »
Met het script had het zo gekund:

@reboot sleep 5 ; /home/pi/Documents/BME280_SSD1306/bme280ssd1306.sh

dus direct het script aanroepen na het sleep commando.

Inderdaad.   :D
𝕸𝖎𝖘𝖈𝖊𝖗𝖊 𝖚𝖙𝖎𝖑𝖊 𝖉𝖚𝖑𝖈𝖎. (Ter leering ende vermaeck)
𝕹𝖎𝖑 𝖛𝖔𝖑𝖊𝖓𝖙𝖎𝖇𝖚𝖘 𝖆𝖗𝖉𝖚𝖚𝖒. (Niets is moeilijk voor hen die willen)
https://henk.oegema.com  (Op RaspberryPi2)
Registered linux user 520520.  In gebruik: Ubuntu  24.04 Hobby's: Radio Amateur callsign: PA2HO.  Interesses: Raspberry Pi & Arduino & TELLO drone (voor AI)