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.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
dmr:dv4mini:automatischer_neustart_der_dv_serial_auf_einem_banana_pi_pro [2015/12/03 19:06] – dg9vh | dmr:dv4mini:automatischer_neustart_der_dv_serial_auf_einem_banana_pi_pro [2015/12/21 15:17] (aktuell) – dg9vh | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Automatischer Neustart der dv_serial auf einem Banana Pi Pro ====== | ====== Automatischer Neustart der dv_serial auf einem Banana Pi Pro ====== | ||
+ | ===== Warum diese Skripte? ===== | ||
+ | Manchmal kann es unter verschiedenen Umständen zum Absturz der dv_serial kommen. Die Ursachen können vielfältig sein und werden hier nicht näher beleuchtet. Um dieses Problem zumindest automatisch zu beheben, sind nachstehende Scripte entstanden. | ||
+ | |||
===== Voraussetzungen ===== | ===== Voraussetzungen ===== | ||
Das Script setzt voraus, dass die dv_serial unter / | Das Script setzt voraus, dass die dv_serial unter / | ||
Zeile 9: | Zeile 12: | ||
/ | / | ||
- | #!/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 bananapi / | ||
- | 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 | ||