Terminal-Kommandos bei Start automatisch ausführen

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
Mauron
User
Beiträge: 4
Registriert: Sonntag 17. Dezember 2017, 15:06

Sonntag 24. Dezember 2017, 13:27

Guten Tag,

im Grunde geht es um genau das was im Betreff steht. Ich möchte bestimmte Befehle beim start ausführen und würde gerne wissen wie das funktioniert.

Frohe Weihnachten und noch einen schönen Tag
Mauron
harryberlin
User
Beiträge: 189
Registriert: Donnerstag 17. Dezember 2015, 12:17

Sonntag 24. Dezember 2017, 13:59

Also geht's nicht wirklich um ein Python-Thema?
empty Sig
__deets__
User
Beiträge: 2693
Registriert: Mittwoch 14. Oktober 2015, 14:29

Sonntag 24. Dezember 2017, 14:19

Es gibt da verschiedene Möglichkeiten. Welche man wählt hängt von der Art des Programms ab. Was tut das denn?
Benutzeravatar
noisefloor
User
Beiträge: 2362
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Sonntag 24. Dezember 2017, 22:21

Hallo,

und das OS bzw die Distro, die du verwendest, können beim möglichen Weg auch eine Rolle spielen.

Gruß, noisefloor
ponguin
User
Beiträge: 3
Registriert: Sonntag 24. Dezember 2017, 23:51

Montag 25. Dezember 2017, 00:14

indem du die Datei /etc/rc.local bearbeitest, kannst du den Befehl zum Starten von allesmogliche einfuegen. am besten ganz unten vor der Zeile in der exit 0! steht.

ansonsten koennte auch ¨cron¨ interessant fuer dich sein.

Ich hoffe ich konnte dir ein wenig weiterhelfen.

Gruss
ponguin
Benutzeravatar
noisefloor
User
Beiträge: 2362
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Montag 25. Dezember 2017, 08:08

Halko,

@ponguin: systemd?

Gruß, noisefloor
ponguin
User
Beiträge: 3
Registriert: Sonntag 24. Dezember 2017, 23:51

Montag 25. Dezember 2017, 09:53

noisefloor hat geschrieben:Halko,

@ponguin: systemd?

Gruß, noisefloor

Sorry, bin selber ein anfaenger was programmieren angeht.
Da ich erst vor kurzen durueber gelesen habe, dachte ich, ich kann eine bessere Antwort als ¨das ist aber kein python-problem¨ bieten.

Waere toll wenn du deine Frage/Kritik etwas ausfuehrlicher formulieren koenntest.

Gruss
ponguin
Benutzeravatar
miracle173
User
Beiträge: 120
Registriert: Samstag 6. Februar 2016, 00:28

Montag 25. Dezember 2017, 13:33

Mauron hat geschrieben:Guten Tag,

im Grunde geht es um genau das was im Betreff steht. Ich möchte bestimmte Befehle beim start ausführen und würde gerne wissen wie das funktioniert.

Frohe Weihnachten und noch einen schönen Tag
Mauron
Beim Start von was? Kannst du etwas genauer Beschreiben, worum es geht?
ponguin
User
Beiträge: 3
Registriert: Sonntag 24. Dezember 2017, 23:51

Montag 25. Dezember 2017, 18:02

Also hier mal ein Auszug aus dem was ich damals gelesen habe:

###
4.11 Programme beim Systemstart ausfuehren
rc.local
Der Init-V Prozess legt fest, welche Programme in welcher Reihenfolge beim Hochfahren Ihres Raspberry Pi gestartet werden. Wenn es Ihnen nur darum geht ein einzelnes Kommando beim Systemstart auszufuehren, gelingt dies auch ohne viel Hintergrundwissen: Sie fuegen das betreffende Kommando einfach in die Datei /etc/rc.local ein, und zwar vor der dort vorgesehenen Zeile exit 0!
###

Habe das jetzt auch mal ausprobiert, mit maessigem erfolg!
Wenn ich z.B. das Kommando ¨date¨ and die Stelle setze, zeigt mir die Konsole nach dem Hochfahren auch das aktuelle Datum und die Uhrzeit, allerdings ein paar zeilen ueber dem Promt und auch ueber /motd.
Wenn ich das selbe mir dem Kommando ¨top¨ versuche, passiert irgendwie nichts!

Wie gesagt, bin selbst noch ein rookie. Aber das will ich jetzt auch wissen!

Am besten du schreibst einfach mal was genau du moechtest. Dann kann ich hier mal was testen bevor ich wieder eine Antwort poste die nicht passt!

Gruss
ponguin
__deets__
User
Beiträge: 2693
Registriert: Mittwoch 14. Oktober 2015, 14:29

Montag 25. Dezember 2017, 18:33

Rc.local geht, ist aber Klebeband & Spucke. Vernünftig macht man das mit systemd, welches ja auch für alle anderen Dienste genutzt wird. Dann bekommst du auch sauberes runterfahren und Andere Dinge wie timer, Neustart nach absturz etc.

Bei ältern Systemen schreibt man halt ein init Skript.
nezzcarth
User
Beiträge: 477
Registriert: Samstag 16. April 2011, 12:47

Montag 25. Dezember 2017, 20:00

ponguin hat geschrieben: rc.local
Der Init-V Prozess legt fest, welche Programme in welcher Reihenfolge beim Hochfahren Ihres Raspberry Pi gestartet werden. Wenn es Ihnen nur darum geht ein einzelnes Kommando beim Systemstart auszufuehren, gelingt dies auch ohne viel Hintergrundwissen: Sie fuegen das betreffende Kommando einfach in die Datei /etc/rc.local ein, und zwar vor der dort vorgesehenen Zeile exit 0!
Vielleicht noch mal der Vollständigkeit: rc.local wurde vor allem -- dein Zitat deutet es schon an -- unter Linux im Zusammenhang mit SysVinit verwendet. SysVinit wurde ind den meisten Distributionen durch systemd ersetzt. Wenn deine Distribution systemd verwendet und /etc/rc.local existiert, funktioniert das in der Regel über eine "Behilfslösung", bei der rc.local von einer systemd-Unit aus angesteuert wird. Sauberer ist es aber, gleich eine Systemd-Unit zu schreiben, wie __deets__ schon meinte.
Benutzeravatar
noisefloor
User
Beiträge: 2362
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Montag 25. Dezember 2017, 20:34

Hallo,
Also hier mal ein Auszug aus dem was ich damals gelesen habe:
Das ist halt - leider - prototypisch für das Grundproblem des Raspi: es gibt bergeweise alte und veraltete Tutorials, Blogeinträge etc. Da Einsteiger & Anfänger das aber naturgemäß nicht beurteilen können, halte sie dies für richtig und behalten veraltete Technik bei.

Technisch hat nezzcarth ja schon erklärt, was Stand der Dinge ist.

Gruß, noisefloor
Antworten