FHEM Forum

Verschiedenes => Off-Topic => Thema gestartet von: TomLee am 02 April 2022, 12:51:20

Titel: Python-Script nach dem booten richtig starten
Beitrag von: TomLee am 02 April 2022, 12:51:20
Hallo,

kann mir bitte wer sagen wie man es richtig macht das Skript nach dem booten zu starten ?

Als User pi starte ich das Skript im Verzeichnis bla mit python3 meinskript.py.

Ich habs bisher versucht mit

sudo crontab -e

und mit dem user pi

crontab -e

jeweils mit diesem Eintrag:

@reboot screen -dm bash -c "cd ~/bla; python3 meinskript.py"

Klappt beides nicht, wo könnte man nachschauen was schief läuft ?

Gruß

Thomas
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: rudolfkoenig am 02 April 2022, 13:35:11
Laut screen Handbuch:
Zitat-c file
            override the default configuration file from $HOME/.screenrc to file.

Ich wuerde den Befehl erst in der Kommandoziele testen, und erst dann ins cron hinter @reboot eintragen.
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: TomLee am 02 April 2022, 13:50:54
Wenn ich das als user pi mache:

screen -dm bash -c "cd ~/bla; python3 meinskript.py"

dann wird das Skript ganz normal gestartet, was ich mit screen -r dann sehe, weil das die einzige "Session" ist die läuft.

Ich gebe ganz offen zu das ich mit dem Zitat aus dem Handbuch noch nix anfangen kann, kommt vlt. noch (und muss auch gleich weg).
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: rudolfkoenig am 02 April 2022, 13:59:04
Sorry, mein Fehler, -c geht an bash nicht an screen.
~ gilt fuer den Benutzer, der das ausfuehrt, d.h. root und pi sind unterschiedlich.
Ich wuerde sicherheitshalber den Pfad komplett ausschreiben.
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: TomLee am 02 April 2022, 14:11:55
Mit
sudo crontab -e
@reboot screen -dm bash -c "cd /home/pi/bla; python3 meinskript.py"


sehe ich mit screen -r weiterhin nix (müsst ich doch nach dem booten ?), wenn das Skript laufen würde sehe ich das auch an einem Arduino Nano der per USB angeschlossen ist und in kurzen Intervallen dann blinken müsste.
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: TomLee am 02 April 2022, 23:34:05
In der syslog steht einfach nur:

Apr  2 23:10:58 FHEMPIOS cron[396]: (CRON) INFO (Running @reboot jobs)

Mehr Infos gibts nicht.
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: schwatter am 03 April 2022, 10:39:06
Moin,

ist den screen notwendig? Läuft dein Script dauerhaft im Hintergrund oder immer nur einmalig?

Ich führe selber ein Script alle 10min einmalig aus.


*/10 * * * * python /opt/rr/my.py

Bei dir sollte es dann so funktionieren.

@reboot python3 /home/pi/bla/meinskript.py

Gruß schwatter
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: Wernieman am 03 April 2022, 11:28:45
Grundsätzlich sollt man bei cron mit kompletten Pfaden arbeiten. Cron lädt normalerweise die Umgebung des Users nicht. Woher soll dann die shell wissen, wo screen liegt?

Wenn ein Befehl als User läuft, als cron aber nicht, liegt meistens genau dieser Fehler vor!
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: TomLee am 03 April 2022, 11:50:12
Das doch wie verhext, es klappt auch nicht mit:

Als user pi:

@reboot python3 /home/pi/meinskript.py"

Auf zwei Systemen, einmal Bullseye und Buster.

Wenns einmal laufen würde, wär mir screen egal, es soll halt immer starten, ohne zutun.

Keine Ahnung obs was mit den Rechten zu tun hat, die Datei war bisher nicht ausführbar, das hab ich einfach mal geändert, ohne Auswirkungen.

-rwxr-xr-x 1 pi pi   46231 Mar 31 15:48  meinskript.py
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: Wernieman am 03 April 2022, 12:07:39
- Zeig mal Dein Script
- Du startes python immer noch nicht mit Pfad.

Hinweis: "whereis python3"
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: TomLee am 03 April 2022, 12:18:27
Zitat- Zeig mal Dein Script

8)  ::)  :P (https://github.com/revoxhere/duino-coin/blob/master/AVR_Miner.py) es macht einfach nur Spass sich mit zu beschäftigen und man lernt ja auch was dabei.
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: Wernieman am 03 April 2022, 12:26:45
Nur ... ohne Inhalt kann man schlecht sagen, wo denn der Fehler liegen Könnte

Wie in meine Footer steht: Ohne Input kein Output
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: TomLee am 03 April 2022, 12:29:56
Wie meinst du das, "ohne Inhalt" ? Du wolltest das Skript sehen !?
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: Otto123 am 03 April 2022, 12:33:12
Werner meinte vor allem den Aufruf so
@reboot /usr/bin/python3 /home/pi/duino-coin/meinskript.py"
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: TomLee am 03 April 2022, 13:03:38
whereis python3
python3: /usr/bin/python3 /usr/bin/python3.9-config /usr/bin/python3.9 /usr/lib/python3 /usr/lib/python3.9 /etc/python3 /etc/python3.9 /usr/local/lib/python3.9 /usr/include/python3.9 /usr/share/python3 /usr/share/man/man1/python3.1.gz


Mit:
@reboot /usr/bin/python3 /home/pi/bla/meinskript.py"
erfolgt immer noch kein Start des Skript nach reboot.
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: Otto123 am 03 April 2022, 13:50:26
ämmh die Gänsefüße am Ende?
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: Wernieman am 03 April 2022, 13:51:39
Und zusätzlich:
Woher weißt Du, das Dein Script nicht gestartet wurde?
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: TomLee am 03 April 2022, 14:00:39
Zitatämmh die Gänsefüße am Ende?

8)

Auch nach Korrektur, der Nano blinkt nicht  ;D

ZitatWoher weißt Du, das Dein Script nicht gestartet wurde?

Zitat von: TomLee am 02 April 2022, 14:11:55
wenn das Skript laufen würde sehe ich das auch an einem Arduino Nano der per USB angeschlossen ist und in kurzen Intervallen dann blinken müsste.
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: TomLee am 03 April 2022, 16:47:25
Lösung, eine Pause:

@reboot screen -dm bash -c "cd ~/bla; sleep 10; python3 meinskript.py"
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: Otto123 am 03 April 2022, 16:57:44
Dann will Dein Script etwas, was unmittelbar nach dem Start nicht verfügbar ist? Sowas wie Netzwerk oder so?
Klingt eigentlich danach, als ob Du eine Abhängigkeit einbauen müsstest. oder statt cron systemd verwenden? Oder damit leben :)
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: TomLee am 03 April 2022, 17:12:53
Klar will das Skript Internet, dachte das wär klar gewesen nachdem ich das Skript gezeigt hatte, jetzt ist mir auch klarer auf was man achten muss.
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: Wernieman am 04 April 2022, 08:42:26
?? Habe ich was übersehen ??
Wo ist das Script?
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: TomLee am 04 April 2022, 08:45:29
Zitat von: Wernieman am 04 April 2022, 08:42:26
?? Habe ich was übersehen ??
Wo ist das Script?

Vermutlich  ;D.

In #10.
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: Wernieman am 04 April 2022, 09:04:25
in #10 Steht aber nichts ... also vom Inhalt

Zitat
Woher weißt Du, das Dein Script nicht gestartet wurde?
wenn das Skript laufen würde sehe ich das auch an einem Arduino Nano der per USB angeschlossen ist und in kurzen Intervallen dann blinken müsste.
Wenn Dein Arduino blinkt, weißt Du das Dein Script gestartet wurde und funktioniert. Aber ob es gestartet wurde und nicht funktioniert, weißt Du eben nicht. Ergänze mal Dein Script mit Logausgaben. Vielleicht wird es gestartet, funktioniert nur eben nicht als Cron, oder zu früh, spät oder sonstwas ....
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: TomLee am 04 April 2022, 09:22:10
Zitatin #10 Steht aber nichts ... also vom Inhalt

Man kann aber dem Link folgen.

ZitatWenn Dein Arduino blinkt, ...

Wenn der Nano blinkt, hat er eine "Aufgabe" gelöst oder fordert (über das Skript via Internet) eine Neue an (weiß ich noch nicht welche Situation das ist). Ergo blinkt der Nano läuft das Skript. In einem Dashboard kann man auch sehen das der Nano arbeitet.
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: TomLee am 04 April 2022, 09:45:54
Achso, das sleep verwende ich in der ganz am Anfang erwähnten Anweisung:

@reboot screen -dm bash -c "cd ~/bla; sleep 10; python3 meinskript.py"

Ich sehe also auch nach dem reboot, mit screen -r, das alles tut was es soll.
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: Thyraz am 04 April 2022, 11:48:32
Zitat von: TomLee am 04 April 2022, 09:22:10
Man kann aber dem Link folgen.

Sorry, hab nix sinnvolles beizutragen, aber einen Link hinter 3 Smilies zu verstecken?  :o

Cooler Trick wenn man unbedingt erreichen will, dass einem keiner hilft. Merk ich mir für das nächste Mal. *duckundweg*  ;)
Titel: Antw:Python-Script nach dem booten richtig starten
Beitrag von: Wernieman am 04 April 2022, 14:03:35
Danke Thyraz, ich bin jedenfalls nicht darauf gekommen, das ein Link hinter Smilies ist ...... wollte hier schon genervt mit Hilfe aufgeben ...

@TomLee
Baue dir trotzdem mal mehr Debuginfos ein ....