Autostart von zwei Python-Scrips

  • Das GW_IIC_Com.py läuft nach dem Neustart
    datacolector_2_0.py läuft nicht.

    Wer kann helfen?
    Danke!

    • Offizieller Beitrag

    Hallo 182,

    der am meisten gemachte Fehler ist keine absoluten Pfade zum und im Script anzugeben. Weiterhin könnte es an eventuellen Abhängigkeiten liegen, dass z. B. Netzwerk im Script benötigt wird, dieses aber noch nicht verfügbar ist. Wir kennen Dein Script nicht, deshalb kannst das nur Du beurteilen.

    Startet es denn so per Konsole?

  • Kann man den Start evt. verzögern?
    Von Hand gestartet läuft alles super.

    Hier ist auch das Scrip.

  • Hallo 182,

    Zitat von "182" pid='295015' dateline='1502473215'


    Kann man den Start evt. verzögern?


    Ja, so:

    Code
    (/bin/sleep 30 && Aufruf_Deines_Skriptes) &

    (ohne geprüft zu haben, ob es angebracht wäre, auf den Start eines bestimmten Service zu warten).


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (11. August 2017 um 20:02)

    • Offizieller Beitrag

    Ungestestet!


    Code
    (/bin/sleep 60 && python /home/pi/Haussteuerung/datacolector_2_0.py) &

    Aber besser wäre ein sleep am Anfang des Scripts, da sonst alles Nachfolgende in der rc.local blockiert wäre.

    //Edit: Mist, ein paar Sekunden zu spät... ;)

  • Hallo 182,

    Zitat von "hyle" pid='295019' dateline='1502474423'


    //Edit: Mist, ein paar Sekunden zu spät... ;)


    Aber trotzdem gute Antwort!

    Aber... 182 wollte ja zwei Skripte starten...

    Das geht so:

    Code
    (sleep 30 && (/Pfad/zu/Python /Pfad/zum/Skript1 &) && /Pfad/zu/Python/ /Pfad/zum/Skript2 &) &


    Hier wird 30 Sekunden gewartet - in der Zwischenzeit bootet das System weiter, startet Dienste, baut das Netzwerk etc. auf.

    Nach den 30 Sekunden werden beide Skripte unmittelbar hintereinander gestartet und laufen beide im Hintergrund.

    Dieser Ablauf wird durch geschicktes Platzieren von && und & an den richtigen Stellen erreicht.


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (11. August 2017 um 20:12)

  • Hallo 182,

    Zitat von "182" pid='295028' dateline='1502478774'


    Ich bin mir aber mit dem Pfad zu Python nicht sicher.


    den Pfad zu Python verrät Dir

    Code
    which python


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    • Offizieller Beitrag

    Mal was Anderes: ändere den Shebang mal in #!/usr/bin/python3 und mach das Script ausführbar.

    //Edit: Vergiss das mit dem Shebang...

  • Hallo 182,

    in Beitrag #6 stand es noch 2:2 in der Klammer-Wertung...

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (11. August 2017 um 22:00)

  • Zitat

    Von Hand gestartet läuft alles super.


    Startest du dabei mit absoluten pfaden, oder gehst du zuerst in das entsprechende Verzeichnis und startest dann anschließend das Skript?

    Startet das Skript nicht oder stürzt es wegen einen Fehler ab?
    Hierbei könnte nohup sehr behilflich sein.

  • Hallo,


    mit

    Code
    ((sleep 30 && python /home/pi/Haussteuerung/datacolector_2_0.py &) && python /home/pi/Haussteuerung/GW_IIC_Com.py) &

    läufts.

    Aber nur wenn am Script-Abfang

    # -*- coding: utf-8 -*-

    steht.

    Vielen Dank für die Hilfe! :thumbs1:

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!