Raspberry Pi für Einsteiger

Supervisor

Supervisor

Selbstgeschriebene Programme bei Systemstart starten

  • Nach Neustart soll Programm gestartet werden
  • Bei Fehler soll Programm neugestartet werden
  • Bei anhaltenden Fehlern soll Programm deaktiviert werden

Lösung 1

Programm initial mit System starten

  • Programm initial mit System starten
    /home/pi/myprogram.sh
    
  • Nachteil: Bei Programmfehler kein erneuter Start
  • Nachteil: Nicht standardisiert

Lösung 2

Programm in Endlosschleife mit System starten

  • Programm in Endlosschleife mit System starten
    while true; do
      /home/pi/myprogram.sh
    done
    
  • Nachteil: Bei Programmfehler endlose Produktion von Fehlermeldungen
  • Nachteil: Nicht standardisiert

Lösung 3

Init-Skript selbst schreiben

  • Init-Skript selbst schreiben
  • Sehr gut integriert
  • Nachteil: Fuer Unerfahrene schwer zu schreiben und fehleranfällig

Lösung 4

Programm Supervisor

  • Startet bei Systemstart eigene Programme
  • Bei Programmfehler: erneuter Start
  • Bei stetigem Abbruch: Beenden von Programm

    Nutzung 1

    Installation

  • apt-get install supervisor

    Erstellen von Eintrag

  • nano /etc/supervisor/conf.d/myprogram.conf

    Konfigurationsdatei

[program:myprogram]
command = /home/pi/myprogram.sh
directory = /home/pi
user = pi
environment=HOME="/home/pi", USER="pi"

Dienst aktivieren, starten

  • Siehe Kapitel!
  • update-rc.d supervisor defaults
  • service supervisor start
  • Tipp: Restart: service supervisor restart

Supervisorctl Dienstübersicht

  • supervisorctl status

Supervisorctl Dienst starten

  • supervirsorctl start myprogram

Supervisorctl Dienst neu starten

  • supervisorctl restart myprogram

Supervisorctl Dienst stoppen

  • supervisorctl stop myprogram

Supervisorctl Dienst löschen

  • supervisorctl remove myprogram

Supervisorctl Dienst (wieder) hinzufügen

  • supervisorctl add myprogram