Hi,

/etc/init.d/weewx

#! /bin/sh
# Author: Tom Keffer <kef...@gmail.com>
# Startup script for Debian derivatives
#
# the skeleton script in debian 6 does not work properly in package scripts.
# the return/exit codes cause {pre|post}{inst|rm} to fail regardless of the
# script completion status.  this script exits explicitly.
#
# the skeleton script also does not work properly with python applications,
# as the lsb tools cannot distinguish between the python interpreter and
# the python code that was invoked.  this script uses ps and grep to look
# for the application signature instead of using the lsb tools to determine
# whether the app is running.
#
### BEGIN INIT INFO
# Provides:          weewx
# Required-Start:    $local_fs $remote_fs $syslog $ntp
# Required-Stop:     $local_fs $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: weewx weather system
# Description:       Manages the weewx weather system
### END INIT INFO

# Do NOT "set -e"

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
LD_LIBRARY_PATH=/opt/owfs/lib
WEEWX_BIN=/usr/bin/weewxd
WEEWX_CFG=/etc/weewx/weewx.conf
DESC="weewx weather system"
NAME=weewx
WEEWX_USER=root:root
PIDFILE=/var/run/$NAME.pid
DAEMON=$WEEWX_BIN
DAEMON_ARGS="--daemon --pidfile=$PIDFILE $WEEWX_CFG"
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
[ -x "$WEEWX_BIN" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

# start the daemon/service
#   0 if daemon has been started
#   1 if daemon was already running
#   2 if daemon could not be started
# check using ps not the pid file.  pid file could be leftover.
do_start() {
    NPROC=$(count_procs)
    if [ $NPROC != 0 ]; then
        return 1
    fi
    start-stop-daemon --start --chuid $WEEWX_USER --pidfile $PIDFILE --exec 
$DAEMON -- $DAEMON_ARGS || return 2
    return 0
}

# stop the daemon/service
#   0 if daemon has been stopped
#   1 if daemon was already stopped
#   2 if daemon could not be stopped
#   other if a failure occurred
do_stop() {
    # bail out if the app is not running
    NPROC=$(count_procs)
    if [ $NPROC = 0 ]; then
        return 1
    fi
    # bail out if there is no pid file
    if [ ! -f $PIDFILE ]; then
        return 1
    fi
    start-stop-daemon --stop --pidfile $PIDFILE
    # we cannot trust the return value from start-stop-daemon
    RETVAL=2
    c=0
    while [ $c -lt 24 -a "$RETVAL" = "2" ]; do
        c=`expr $c + 1`
        # process may not really have completed, so check it
        NPROC=$(count_procs)
        if [ $NPROC = 0 ]; then
            RETVAL=0
        else
            echo -n "."
            sleep 5
        fi
    done
    if [ "$RETVAL" = "0" -o "$RETVAL" = "1" ]; then
        # delete the pid file just in case
        rm -f $PIDFILE
    fi
    return "$RETVAL"
}

# send a SIGHUP to the daemon/service
do_reload() {
    start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE
    return 0
}

count_procs() {
    NPROC=`ps ax | grep $WEEWX_BIN | grep $NAME.pid | wc -l`
    echo $NPROC
}

RETVAL=0
case "$1" in
    start)
        log_daemon_msg "Starting $DESC" "$NAME"
        do_start
        case "$?" in
            0) log_end_msg 0; RETVAL=0 ;;
            1) log_action_cont_msg " already running" && log_end_msg 0; 
RETVAL=0 ;;
            2) log_end_msg 1; RETVAL=1 ;;
        esac
        ;;
    stop)
        log_daemon_msg "Stopping $DESC" "$NAME"
        do_stop
        case "$?" in
            0) log_end_msg 0; RETVAL=0 ;;
            1) log_action_cont_msg " not running" && log_end_msg 0; RETVAL=0 ;;
            2) log_end_msg 1; RETVAL=1 ;;
        esac
        ;;
    status)
        NPROC=$(count_procs)
        if [ $NPROC -gt 1 ]; then
            MSG="running multiple times"
        elif [ $NPROC = 1 ]; then
            MSG="running"
        else
            MSG="not running"
        fi
        log_daemon_msg "Status of $DESC" "$MSG"
        log_end_msg 0
        RETVAL=0
        ;;
    reload|force-reload)
        log_daemon_msg "Reloading $DESC" "$NAME"
        do_reload
        RETVAL=$?
        log_end_msg $RETVAL
        ;;
    restart)
        log_daemon_msg "Restarting $DESC" "$NAME"
        do_stop
        case "$?" in
            0|1)
           do_start
           case "$?" in
               0) log_end_msg 0; RETVAL=0 ;;
               1) log_end_msg 1; RETVAL=1 ;; # Old process still running
               *) log_end_msg 1; RETVAL=1 ;; # Failed to start
           esac
           ;;
            *)
           # Failed to stop
           log_end_msg 1
           RETVAL=1
           ;;
        esac
        ;;
    *)
        echo "Usage: $SCRIPTNAME {start|stop|status|restart|reload}"
        exit 3
        ;;
esac

exit $RETVAL





/etc/default/weewx

LD_LIBRARY_PATH=/opt/owfs/lib


Regards

David



On 27/11/2016 20:32, mwall wrote:
david,

please post /etc/init.d/weewx and /etc/default/weewx

m
--
You received this message because you are subscribed to a topic in the Google Groups 
"weewx-user" group.
To unsubscribe from this topic, visit 
https://groups.google.com/d/topic/weewx-user/mbldmY3J7o4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to 
weewx-user+unsubscr...@googlegroups.com 
<mailto:weewx-user+unsubscr...@googlegroups.com>.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to weewx-user+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to