diff options
-rw-r--r-- | meta-oe/recipes-extended/rsyslog/rsyslog/initscript | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/initscript b/meta-oe/recipes-extended/rsyslog/rsyslog/initscript index d011e8f0dc..7a8f8f9918 100644 --- a/meta-oe/recipes-extended/rsyslog/rsyslog/initscript +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/initscript @@ -27,7 +27,10 @@ do_start() # Return # 0 if daemon has been started # 1 if daemon could not be started - start-stop-daemon -S --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS || return 1 + # if daemon had already been started, start-stop-daemon will return 1 + # so add -o/--oknodo(if nothing is done, exit 0) + start-stop-daemon -S --quiet --pidfile $PIDFILE --exec $DAEMON \ + --oknodo -- $DAEMON_ARGS || return 1 } # # Function that stops the daemon/service @@ -56,6 +59,20 @@ do_reload() { start-stop-daemon -K --signal HUP --quiet --pidfile $PIDFILE --name $NAME return 0 } + +do_status() { + NAME=$1 + PIDFILE=$2 + # -t: test only but not stop + start-stop-daemon -K -t --quiet --pidfile $PIDFILE --name $NAME + # exit with status 0 if process is found + if [ "$?" = "0" ]; then + return 0 + else + return 1 + fi +} + case "$1" in start) echo -n "starting $RSYSLOGD ... " @@ -82,8 +99,19 @@ case "$1" in $0 stop $0 start ;; + status) + echo -n "status $RSYSLOGD ... " + do_status "$RSYSLOGD" "$RSYSLOGD_PIDFILE" + if [ "$?" = "0" ]; then + echo "running" + exit 0 + else + echo "stopped" + exit 1 + fi + ;; *) - echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $SCRIPTNAME {start|stop|status|restart|reload|force-reload}" >&2 exit 3 ;; esac |