java调用shell脚本(java调用shell脚本传参数)
多条告白如次剧本只需引入一次
一个通用的java运用步调启用shell剧本:
#!/bin/bashcd `dirname $0`CUR_SHELL_DIR=`pwd`CUR_SHELL_NAME=`basename ${BASH_SOURCE}`#窜改这边jar包名即可JAR_NAME="console.jar"JAR_PATH=$CUR_SHELL_DIR/$JAR_NAME#JAVA_MEM_OPTS=" -server -Xms1024m -Xmx1024m -XX:PermSize=128m"JAVA_MEM_OPTS=""#SPRING_PROFILES_ACTIV="-Dspring.profiles.active=prod"SPRING_PROFILES_ACTIV=""JAR_LIB="-Dloader.path=libs/"echo_help(){ echo -e "syntax: sh $CUR_SHELL_NAME start|stop"}if ***; -z $1 ];then echo_help exit 1fiif ***; "$1" == "start" ];then# check server PIDS=`ps --no-heading -C java -f --width 1000 | grep $JAR_NAME | awk '{print $2}'` if ***; -n "$PIDS" ]; then echo -e "ERROR: The $JAR_NAME already started and the PID is ${PIDS}." exit 1 fiecho "Starting the $JAR_NAME..." # start nohup java $JAR_LIB $JAVA_MEM_OPTS -jar $SPRING_PROFILES_ACTIV $JAR_PATH >> /dev/null 2>&1 & COUNT=0 while ***; $COUNT -lt 1 ]; do sleep 1 COUNT=`ps --no-heading -C java -f --width 1000 | grep "$JAR_NAME" | awk '{print $2}' | wc -l` if ***; $COUNT -gt 0 ]; then break fi done PIDS=`ps --no-heading -C java -f --width 1000 | grep "$JAR_NAME" | awk '{print $2}'` echo "${JAR_NAME} Started and the PID is ${PIDS}."elif ***; "$1" == "stop" ];then PIDS=`ps --no-heading -C java -f --width 1000 | grep $JAR_NAME | awk '{print $2}'` if ***; -z "$PIDS" ]; then echo "ERROR:The $JAR_NAME does not started!" exit 1 fiecho -e "Stopping the $JAR_NAME..." for PID in $PIDS; do kill $PID > /dev/null 2>&1 done COUNT=0 while ***; $COUNT -lt 1 ]; do sleep 1 COUNT=1 for PID in $PIDS ; do PID_EXIST=`ps --no-heading -p $PID` if ***; -n "$PID_EXIST" ]; then COUNT=0 break fi done done echo -e "${JAR_NAME} Stopped and the PID is ${PIDS}."else echo_help exit 1即使您爱好正文,就请动动您的发达手为正文点赞指摘转发,让咱们一道进修更多运维关系常识,结果请牢记关心我。