[oe] [meta-oe][PATCH v2] rsyslog: add status command and a minor fix for initscript

jackie.huang at windriver.com jackie.huang at windriver.com
Thu Apr 17 02:06:49 UTC 2014


From: Jackie Huang <jackie.huang at windriver.com>

- add status command
- add --oknodo for do_start

Signed-off-by: Jackie Huang <jackie.huang at windriver.com>
---
 .../recipes-extended/rsyslog/rsyslog/initscript    |   32 ++++++++++++++++++--
 1 file changed, 30 insertions(+), 2 deletions(-)

diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/initscript b/meta-oe/recipes-extended/rsyslog/rsyslog/initscript
index d011e8f..7a8f8f9 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
-- 
1.7.9.5




More information about the Openembedded-devel mailing list