Mini Watchdog für einzelne Prozesse (13.02.14)

Dieser Beitrag wurde 10661 mal angezeigt.

Mini Watchdog für einzelne ProzesseWatchDog

Hy Leute,

ich habe mal einen kleinen Wachhund geschrieben der einzelne Programme überwacht.

Wer sich nicht mit der Problematik des Linux und des Konfigurierens auseinandersetzen möchte,
darf sich gerne mein Angebot ansehen und ein komplett eingerichteten Pi oder Image bekommen.

Warum?

Nun, nachdem der BFGMiner bei den ANTMinern nicht gerade die Leistung bringt,
die er eigentlich haben sollte, habe ich mich entschieden wieder auf den CGMiner zu setzen.

Dieser wurde aber nachdem ich mein Raspcontrol durch eine SQLite Datenbank und einem Apache Server erweitert hatte, zunehmend instabil.
Der CGMiner schmierte ab, ohne den Pi mit zu nehmen. Also griff der große Wachhund, Watchdog nicht. Der Pi lief weiter frei herum und arbeitete nicht mehr.

Also was machen?

Ein kleiner Wachhund muss her, der sich nur um 1 Programm kümmert. Wenn dieses nicht mehr da ist, soll er den ganzen Pi per Reboot neu starten.
Der Grund ist, das wenn der CGMiner abschmiert, er die USB-Ports weiterhin blockiert und nicht wieder frei gibt.

Nun zum eingemachten

Wir verbinden uns per Shell auf den Pi und wechseln in das Home/Pi Verzeichnis.

cd /home/pi/
nano checkrun.sh

Nun fügen wir dieses hier ein :

#! /bin/bash

case "$(pidof cgminer | wc -w)" in

0)  echo "Restarting:     $(date)" >> /var/log/cgminer.txt
    sudo reboot
    ;;
1)  # all ok
	#echo "All Good at cgminer: $(date)" >> /var/log/cgminer.txt
    ;;
*)  echo "Removed double cgminer: $(date)" >> /var/log/cgminer.txt
    kill $(pidof cgminer | awk '{print $1}')
    ;;
esac

und speichern diese Datei mit Strg-X und anschließend „y“ oder „j“ fürs speichern.

Nun müssen wir unsere Datei noch ausführbar machen:

sudo chmod +x checkrun.sh

 Was bedeuten unsere Fälle?

Fall 0 = Was soll gemacht werden wenn der Prozess „cgminer“ nicht läuft.

Fall 1 = Was soll gemacht werden, wenn das Programm läuft.

Fall * = Was soll gemacht werden, wenn das Programm mehrfach läuft.

 

Mit diesem Wissen können wir also noch andere Programme beobachten z.b. den BFGMiner oder Apache2 , wenn wir wollen.

Im Minutentakt kontrollieren.

Damit unser Mini Watchdog auch regelmäßig nach dem rechten schaut, muss es ihm jemand sagen.

Dazu öffnen wir unsere /etc/crontab

nano /etc/crontab

und fügen ans Ende der File dieses ein:

* * * * * root /home/pi/checkrun.sh

und schließen nano wieder. Nun wird unser Wachhund jede Minute auf unseren CGMiner los gelassen und wenn dieser fein seine Arbeit macht, ist alles gut. Wenn nicht, gibs nen reboot 🙂

 

Viel Spass beim minen!

 

Ich hoffe euch hat mein Beitrag gefallen.

Wenn dir mein Beitrag gefallen und geholfen hat dich besser in der Welt der Bitcoins zurecht zu finden, würde ich mich freuen wenn ihr meine Seite und mein Wochenende durch eine kleine Spende unterstützt.
Mit der neusten Bitcoin-Wallet oder auf Blockchain.info/wallet ist es möglich auch CENT Beträge (µBTC) ohne Mining-Gebühren zu senden.

Wer gerne etwas für die Kaffee/Bier Trinkgeld Kasse und Erhalt der Seite spenden möchte :
BTC: 1LvETe6uTP64hK3UR3oSAdzT5ZjLnttqBm
DEM: NWtFftChrx28mvYgqfopmDejxoHiZmAK7u

7 Comments

Add a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.