You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ff...@apache.org on 2016/02/14 04:26:49 UTC

karaf git commit: KARAF-4294 : System scripts: Improove support for Solaris 10 init scripts

Repository: karaf
Updated Branches:
  refs/heads/karaf-4.0.x 77c8293ef -> 1679cfae5


KARAF-4294 : System scripts: Improove support for Solaris 10 init scripts

(cherry picked from commit 96ed1b9cb1386ee00ff1a68fcab3f3a3d155868a)


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/1679cfae
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/1679cfae
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/1679cfae

Branch: refs/heads/karaf-4.0.x
Commit: 1679cfae5940823fc3d6c54f9bf14bf6594c1633
Parents: 77c8293
Author: lburgazzoli <lb...@gmail.com>
Authored: Thu Feb 4 14:12:14 2016 +0100
Committer: Freeman Fang <fr...@gmail.com>
Committed: Sun Feb 14 11:26:16 2016 +0800

----------------------------------------------------------------------
 .../bin/contrib/karaf-service-template.init     | 26 ++++++++++++++++----
 1 file changed, 21 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/1679cfae/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init
----------------------------------------------------------------------
diff --git a/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init b/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init
index 60e0cb4..379fbc7 100644
--- a/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init
+++ b/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init
@@ -72,8 +72,17 @@ do_start() {
     chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP `dirname $KARAF_SERVICE_PIDFILE` || true
 
     if [ ! -z "$KARAF_SERVICE_USER" ]; then
-        su - $KARAF_SERVICE_USER \
-            -c " { export JAVA_HOME=$JAVA_HOME; $KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE daemon >> $KARAF_SERVICE_LOG 2>&1 & } ; echo \$! >| $KARAF_SERVICE_PIDFILE "
+        if [ "$KARAF_SERVICE_USER" = "root" ]; then
+            JAVA_HOME=$JAVA_HOME 
+            export JAVA_HOME
+
+            $KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE server >> $KARAF_SERVICE_LOG 2>&1 &
+
+            echo $! > $KARAF_SERVICE_PIDFILE
+        else
+            su - $KARAF_SERVICE_USER \
+                -c " { export JAVA_HOME=$JAVA_HOME; $KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE daemon >> $KARAF_SERVICE_LOG 2>&1 & } ; echo \$! >| $KARAF_SERVICE_PIDFILE "
+        fi
 
         sleep 1
         if [ -f $KARAF_SERVICE_PIDFILE ]; then
@@ -93,8 +102,15 @@ do_stop() {
         read kpid < $KARAF_SERVICE_PIDFILE
         kwait=$SHUTDOWN_WAIT
 
-        su - $KARAF_SERVICE_USER \
-            -c "export JAVA_HOME=$JAVA_HOME; $KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE stop >> $KARAF_SERVICE_LOG 2>&1"
+        if [ "$KARAF_SERVICE_USER" = "root" ]; then
+            JAVA_HOME=$JAVA_HOME
+            export JAVA_HOME
+
+            $KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE stop >> $KARAF_SERVICE_LOG 2>&1
+        else
+            su - $KARAF_SERVICE_USER \
+                -c "export JAVA_HOME=$JAVA_HOME; $KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE stop >> $KARAF_SERVICE_LOG 2>&1"
+        fi
 
         until [ `ps -p $kpid 2> /dev/null | grep -c $kpid 2> /dev/null` -eq '0' ] || [ $count -gt $kwait ]
         do
@@ -103,7 +119,7 @@ do_stop() {
         done
 
         if [ $count -gt $kwait ]; then
-            if [ `ps -p $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then
+            if [ `ps -p $kpid 2> /dev/null | grep -c $kpid 2> /dev/null` -eq '1' ]; then
                 kill -9 $kpid
             fi
         fi