فهرست منبع

add jrun, run java program at bin directory

ZhenQin 11 سال پیش
والد
کامیت
10bac30c37
2فایلهای تغییر یافته به همراه97 افزوده شده و 6 حذف شده
  1. 86 0
      javarun/jrun-bin.sh
  2. 11 6
      javarun/jrun.sh

+ 86 - 0
javarun/jrun-bin.sh

@@ -0,0 +1,86 @@
+#!/usr/bin/env bash
+
+current_dir=$(cd "$(dirname "$0")"; pwd)
+
+cd $current_dir
+
+
+HOME=`cd $current_dir/../; pwd`
+
+
+#JAVA_HOME=/opt/jdk1.7.0_07
+MAINCLASS="org.eclipse.jetty.start.Main"
+LIB_DIR="lib"
+CLASS_DIR="start.jar"
+JVM_ARGS="-Djetty.port=6220 -Dsolr.solr.home=solr -Dorg.eclipse.jetty.util.URI.charset=UTF-8"
+PRO_ARGS=""
+PROGRAM_NAME=solr
+
+PID_DIR="$HOME/start.d"
+jcommand="java"
+
+runtype="-classpath"
+APPEND_LIB=$HOME"/"$CLASS_DIR
+PID_NAME=$PROGRAM_NAME".pid"
+pid=$PID_DIR/$PID_NAME
+
+echo "CURRENT_DIR="$HOME
+
+#注意这个字符,不是',是`,数字键左边的那个键
+filelist=`ls $HOME"/"$LIB_DIR`
+for f in $filelist
+  do
+    name=$HOME"/"$LIB_DIR"/"$f
+    APPEND_LIB=$APPEND_LIB:$name
+  done
+
+case $1 in
+    'start' )
+        mkdir -p "$PID_DIR"
+
+        if [ -f "$pid" ]; then
+            echo $pid existsed, pid: `cat $pid`
+            if kill -0 `cat "$pid"` > /dev/null 2>&1; then
+                echo $PROGRAM_NAME running as process `cat $pid`.  Stop it first.
+                exit 1
+            fi
+        fi
+
+        echo -n 'Starting : '
+        if $jcommand $JVM_ARGS $runtype $APPEND_LIB $MAINCLASS $PRO_ARGS > /dev/null 2>&1 &
+        then
+            echo $! > "$pid"
+            echo 'OK'
+        else
+            echo 'Failed'
+        fi
+        ;;
+
+    'run' )
+        $jcommand $JVM_ARGS $runtype $APPEND_LIB $MAINCLASS $PRO_ARGS
+        ;;
+
+    'classpath' )
+        echo $jcommand $JVM_ARGS $runtype $APPEND_LIB $MAINCLASS $PRO_ARGS
+        ;;
+
+    'stop' )
+        if [ -f "$pid" ]; then
+          if kill `cat  "$pid"` > /dev/null 2>&1; then
+            echo stopping $PROGRAM_NAME
+            kill `cat "$pid"`
+            rm $pid
+          else
+            echo No $PROGRAM_NAME to stop
+          fi
+        else
+          echo No $PROGRAM_NAME to stop
+        fi
+        ;;
+
+    'list' )
+        ps aux | egrep '(PID|java|$PROGRAM_NAME)'
+        ;;
+     *)
+echo 'usage: `basename $0` {start|run|stop|list}'
+esac

+ 11 - 6
javarun/jrun.sh

@@ -2,9 +2,10 @@
 
 current_dir=$(cd "$(dirname "$0")"; pwd)
 
-
 cd $current_dir
 
+HOME=$current_dir
+
 #JAVA_HOME=/opt/jdk1.7.0_07
 MAINCLASS="org.eclipse.jetty.start.Main"
 LIB_DIR="lib"
@@ -13,21 +14,21 @@ JVM_ARGS="-Djetty.port=6220 -Dsolr.solr.home=solr -Dorg.eclipse.jetty.util.URI.c
 PRO_ARGS=""
 PROGRAM_NAME=solr
 
-PID_DIR="$current_dir/start.d"
+PID_DIR="$HOME/start.d"
 jcommand="java"
 
 runtype="-classpath"
-APPEND_LIB=$current_dir"/"$CLASS_DIR
+APPEND_LIB=$HOME"/"$CLASS_DIR
 PID_NAME=$PROGRAM_NAME".pid"
 pid=$PID_DIR/$PID_NAME
 
-echo "CURRENT_DIR="$current_dir
+echo "CURRENT_DIR="$HOME
 
 #注意这个字符,不是',是`,数字键左边的那个键
-filelist=`ls $current_dir"/"$LIB_DIR`
+filelist=`ls $HOME"/"$LIB_DIR`
 for f in $filelist
   do
-    name=$current_dir"/"$LIB_DIR"/"$f
+    name=$HOME"/"$LIB_DIR"/"$f
     APPEND_LIB=$APPEND_LIB:$name
   done
 
@@ -57,6 +58,10 @@ case $1 in
         $jcommand $JVM_ARGS $runtype $APPEND_LIB $MAINCLASS $PRO_ARGS
         ;;
 
+    'classpath' )
+        echo $jcommand $JVM_ARGS $runtype $APPEND_LIB $MAINCLASS $PRO_ARGS
+        ;;
+
     'stop' )
         if [ -f "$pid" ]; then
           if kill `cat  "$pid"` > /dev/null 2>&1; then