Sie befinden sich hier: DG9VH WIKI » DMR - Themen » DV4mini » Automatischer Neustart der dv_serial auf einem Banana Pi Pro
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
dmr:dv4mini:automatischer_neustart_der_dv_serial_auf_einem_banana_pi_pro [2015/12/03 19:03] – angelegt dg9vh | dmr:dv4mini:automatischer_neustart_der_dv_serial_auf_einem_banana_pi_pro [2015/12/10 08:33] – 84.58.88.88 | ||
---|---|---|---|
Zeile 9: | Zeile 9: | ||
/ | / | ||
- | #!/bin/bash | ||
- | ### BEGIN INIT INFO | ||
- | # | ||
- | # Provides: | ||
- | # Required-Start: | ||
- | # Required-Stop: | ||
- | # Default-Start: | ||
- | # Default-Stop: | ||
- | # Short-Description: | ||
- | | ||
- | # | ||
- | ### END INIT INFO | ||
- | ## Fill in name of program here. | ||
- | PROG=" | ||
- | PROG_PATH="/ | ||
- | PROG_ARGS="" | ||
- | PIDFILE="/ | ||
- | | ||
- | start() { | ||
- | if [ -e $PIDFILE ]; then | ||
- | ## Program is running, exit with error. | ||
- | echo " | ||
- | exit 1 | ||
- | else | ||
- | cd $PROG_PATH | ||
- | sudo -u pi / | ||
- | echo "$PROG started" | ||
- | touch $PIDFILE | ||
- | sleep 2 | ||
- | | ||
- | | ||
- | } | ||
- | | ||
- | stop() { | ||
- | if [ -e $PIDFILE ]; then | ||
- | ## Program is running, so stop it | ||
- | echo "$PROG is running" | ||
- | rm -f $PIDFILE | ||
- | | ||
- | echo "$PROG stopped" | ||
- | else | ||
- | ## Program is not running, exit with error. | ||
- | echo " | ||
- | exit 1 | ||
- | fi | ||
- | } | ||
- | | ||
- | ## Check to see if we are running as root first. | ||
- | ## Found at | ||
- | http:// | ||
- | if [ "$(id -u)" != " | ||
- | then echo "This script must be run as root" 1>&2 | ||
- | exit 1 | ||
- | fi | ||
- | case " | ||
- | start) | ||
- | start | ||
- | exit 0 | ||
- | ;; | ||
- | stop) | ||
- | stop | ||
- | exit 0 | ||
- | ;; | ||
- | reload|restart|force-reload) | ||
- | stop | ||
- | sleep 2 | ||
- | start | ||
- | exit 0 | ||
- | ;; | ||
- | **) | ||
- | echo " | ||
- | exit 1 | ||
- | ;; | ||
- | esac | ||
- | exit 0 | ||
- | | ||
- | ### END | ||
+ | # | ||
+ | ### BEGIN INIT INFO | ||
+ | # | ||
+ | # Provides: | ||
+ | # Required-Start: | ||
+ | # Required-Stop: | ||
+ | # Default-Start: | ||
+ | # Default-Stop: | ||
+ | # Short-Description: | ||
+ | |||
+ | # | ||
+ | ### END INIT INFO | ||
+ | ## Fill in name of program here. | ||
+ | PROG=" | ||
+ | PROG_PATH="/ | ||
+ | PROG_ARGS="" | ||
+ | PIDFILE="/ | ||
+ | USER=" | ||
+ | |||
+ | start() { | ||
+ | if [ -e $PIDFILE ]; then | ||
+ | ## Program is running, exit with error. | ||
+ | echo " | ||
+ | exit 1 | ||
+ | else | ||
+ | ## Change from /dev/null to something like / | ||
+ | cd $PROG_PATH | ||
+ | echo " | ||
+ | sudo -u $USER / | ||
+ | echo "$PROG started" | ||
+ | touch $PIDFILE | ||
+ | sleep 2 | ||
+ | ionice --class 1 --pid=" | ||
+ | renice -10 --pid " | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | stop() { | ||
+ | if [ -e $PIDFILE ]; then | ||
+ | ## Program is running, so stop it | ||
+ | echo "$PROG is running" | ||
+ | rm -f $PIDFILE | ||
+ | | ||
+ | echo "$PROG stopped" | ||
+ | else | ||
+ | ## Program is not running, exit with error. | ||
+ | echo " | ||
+ | exit 1 | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | ## Check to see if we are running as root first. | ||
+ | ## Found at http:// | ||
+ | if [ "$(id -u)" != " | ||
+ | echo "This script must be run as root" 1>&2 | ||
+ | exit 1 | ||
+ | fi | ||
+ | |||
+ | case " | ||
+ | start) | ||
+ | start | ||
+ | exit 0 | ||
+ | ;; | ||
+ | stop) | ||
+ | stop | ||
+ | exit 0 | ||
+ | ;; | ||
+ | reload|restart|force-reload) | ||
+ | stop | ||
+ | sleep 2 | ||
+ | start | ||
+ | exit 0 | ||
+ | ;; | ||
+ | **) | ||
+ | echo " | ||
+ | exit 1 | ||
+ | ;; | ||
+ | esac | ||
+ | exit 0 | ||
+ | ### END | ||
Zeile 120: | Zeile 123: | ||
quasi 2 mal in der Minute (nach einer Pause von 30 Sekunden) prüft, ob | quasi 2 mal in der Minute (nach einer Pause von 30 Sekunden) prüft, ob | ||
der Prozess noch vorhanden ist... es wird also automatisch nach dem | der Prozess noch vorhanden ist... es wird also automatisch nach dem | ||
- | Start die dv_serial gestartet über den Watchdog... | + | Start die dv_serial gestartet über den Watchdog. |
+ | ===== Abschließendes ===== | ||
+ | Möchte man das Script auf einem Raspberry Pi einsetzen, ist der Installationspfad und der Benutzer des Programmaufrufs auf " |