- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 6 von 6

Thema: RPI 2 Python-Programme parallel laufen lassen

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    14.09.2011
    Beiträge
    32

    RPI 2 Python-Programme parallel laufen lassen

    Anzeige

    Praxistest und DIY Projekte
    Folgende Situation:
    Ich habe 2 Programme (Python) auf dem RPI.
    Das Hauptprogramm und als zweites die ständige Überwachung des UART (uart_1.py).
    Beide laufen als Endlosschleife.

    Aufgerufen werden beide durch die "autostart.sh". Die sieht so aus:

    PHP-Code:
    #!/bin/bash

    python /home/pi/programme/hauptprogramm.py&

    python /home/pi/programme/UART/uart_1.py&

    exit 

    Wenn ich die autostart.sh aus der Befehlszeile starte, läuft alles wie
    geplant - beide Programme starten und funktionieren auch zusammen.
    aller dings kommen folgende Fehlermeldungen:

    PHP-Code:
    pi@raspberrypi ~/programme sudo sh autostart.sh
    not foundh2autostart.sh:
    not foundh3autostart.sh:
    not foundh4autostart.sh:
    not foundh5autostart.sh:
    not foundh6autostart.sh

    Jetzt sollen aber beide Programme nach dem Bootvorgang selbst starten.
    Dazu habe ich in der rc.local folgenden Eintrag:
    PHP-Code:
    .....
    sudo sh /home/pi/programme/autostart.sh&
    exit 

    Nach dem Start laufen beide Programme an, bleiben dann aber hängen.
    -----

    Ich probiere schon seit Tagen. Habe unzählig viele Möglichkeiten aus
    diversen Foren ausprobiert. Die Befehle mit und ohne "&" verwendet.
    Auch beide Programmeinträge in der rc.local oder auch in Crontab (ohne autostart.sh)
    brachten keinen Erfolg.
    Ich bin für jeden Hinweis dankbar, auch für Hinweise zu ganz anderen Möglichkeiten,
    Hauptsache die Programme starten selbst und laufen nebeneinander her.

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Mcgrizzly123
    Registriert seit
    15.06.2012
    Beiträge
    142
    Hi
    falls die Programm auch was ausgeben probiers mal mit nohup vor dem programmaufruf, also 'nohup sudo .... &'. Ansonsten müsstest du mal den quellcode der beiden Programme posten.
    | Mfg |
    | McGrizzly123 |

  3. #3
    shedepe
    Gast
    Sinnvoll wäre es letztendlich nur die Programme in einer Screensession laufen zu lassen. Dort kann man dann auch ohne Probleme im laufenden Betrieb auf die einzelnen Sessions attachen um z.B. Ausgabe der Programme anzuschauen.

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Ich bin jetzt nicht mehr so drin in linux, aber setz dich mal mit taskset auseinander um jeder Python Instanz einen anderen Core zuzuweisen. Dann laufen die unabhängig voneinander wirklich parallel.

    Für Multitasking auf einem Core, unter Python mal "_Thread" nutzen.
    http://www.python-kurs.eu/threads.php

  5. #5
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Hast du auch mal versucht nach der Endung .py ein Leerzeichen zu lassen ?

    $ python Programm.py &

    Ganz elegant wäre es, wenn du solche Startvorgänge etc. per Init-Skript machst, da du so auch die Programme kontrolliert beim herunterfahren beenden kannst.
    Siehe z.B. hier für VNC:

    http://kampis-elektroecke.de/?page_id=2655
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    14.09.2011
    Beiträge
    32
    Die Sache ist geklärt.
    in der autostart.sh ein Programm mit "nohup", das andere ohne.
    Der Grund, warum die Programme bei Aufruf in der Befehlszeile (nach dem Wechsel auf "cd programme") gelaufen sind und sonst nicht
    war, dass ich bei Dateizugriffen keine kompletten Pfadangaben eingetragen habe.
    Man lernt halt nie aus.....


    Danke für die Hilfe.

Ähnliche Themen

  1. Schrittmotor im Sinus laufen lassen
    Von julius12345 im Forum Software, Algorithmen und KI
    Antworten: 11
    Letzter Beitrag: 23.06.2011, 16:26
  2. Motoren schneller laufen lassen
    Von asuromatze im Forum Asuro
    Antworten: 3
    Letzter Beitrag: 25.05.2007, 19:37
  3. Programme laufen nicht
    Von dominik66 im Forum Asuro
    Antworten: 9
    Letzter Beitrag: 08.10.2006, 21:21
  4. Asuro: Programme laufen nicht
    Von arcornobbi im Forum Asuro
    Antworten: 4
    Letzter Beitrag: 18.09.2006, 22:14
  5. Mehrere Programme gleichzeitig laufen lassen geht nicht.
    Von mesli-andres im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 23
    Letzter Beitrag: 11.06.2005, 22:29

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen