Autostart von Python Script in Linux Shell

  • Hallo zusammen,

    weiß jemand wie man ein Python Script in Linux zum automatischen starten in der Shell bekommt?
    Das blöde ist, das Script wartet auf die Eingabe von Zahlen. ich glaube das lässt das Autostarten über rc.local nicht zu?! weiß das jemand?

    Ich habe bisher versucht das Script einfach in die rc.local zu schreiben. Aber dann bekomme ich beim booten den Fehler: rc-local.service loaded failed failed /etc/rc.local Compatibility

    also das steht in der rc.local:
    /usr/bin/python /home/pi/rfid.py

    vielen Dank schonmal !

    Franz

    Achso cron @reboot ging auch nicht :(

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

  • Wann genau soll das Skript denn aufgerufen werden? Für weniger kritische und spezifischere Sachen (< Service) ist es normalerweise üblich, einen Mechanismus wie bash_profile zu verwenden. So wird der jeweilige Befehl im Benutzerkontext (nicht als root!) bei der Benutzeranmeldung ausgeführt. Für die meisten Aktionen reicht das vollkommen aus. Siehe dazu auch der Artikel bei UbuntuUsers: Klick

    Allerdings bringt dir das auch herzlich wenig bei interaktiven Skripten. Sicherlich kann man den richtigen Input irgendwie zum Skript pipen, es liegt aber viel näher, einfach das Python-Skript anzupassen. Entweder kannst du die Zahleingaben fix im Skript speichern oder über die Aufrufparamater übergeben. So kannst du auch ohne Probleme sämtliche Startmechanismen verwenden.

  • Achso cron @reboot ging auch nicht :(

    Was meinst du damit? Wenn du einen Eintrag in der Cron machst, ist der i.d.R. nicht nach einem neustart weg. Ich nutze die Cron eig. für alles was irgendwo zu Zeiten gestartet werden soll.

    Sicherlich kann man den richtigen Input irgendwie zum Skript pipen, es liegt aber viel näher, einfach das Python-Skript anzupassen. Entweder kannst du die Zahleingaben fix im Skript speichern oder über die Aufrufparamater übergeben. So kannst du auch ohne Probleme sämtliche Startmechanismen verwenden.

    Ich würde als erste Anlaufstelle die Eingaben via Parameter übergeben wollen, wie @chesstiger das beschrieben hat, solange es der Anwendungsfall das hergibt.

    Grüße Yaerox

    Grüne Hölle

  • Danke für eure antworten. Da die Eingaben in der Shell durch Anwender erfolgen soll, kann ich die nicht als Parameter übergeben. Hätte ich vielleicht dazu sagen sollen..

    Ich habe eine recht naheliegende Lösung gefunden:

    In der Date /etc/Profile kann einfach ein command angefügt werden, dieser wird nach dem automatischen Login in der Shell gestartet.

    schönes Wochenende !

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---