当前位置:首页 > 谈天说地

java调用shell脚本(java调用shell脚本传参数)

34资源网2022-02-25640

一个通用的java应用程序启动shell脚本:

#!/bin/bash
cd `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 1
fi

if [ "$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
    fi
echo "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
    fi
echo -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

如果您喜欢本文,就请动动您的发财手为本文点赞评论转发,让我们一起学习更多运维相关知识,最后请记得关注我。

看完文章,还可以扫描下面的二维码下载快手极速版领4元红包

快手极速版二维码

快手极速版新人见面礼

除了扫码领红包之外,大家还可以在快手极速版做签到,看视频,做任务,参与抽奖,邀请好友赚钱)。

邀请两个好友奖最高196元,如下图所示:

快手极速版邀请好友奖励

扫描二维码推送至手机访问。

版权声明:本文由34楼发布,如需转载请注明出处。

本文链接:https://www.34l.com/post/8638.html

分享给朋友:

相关文章

木村久一:所谓天才人物指的就是具有毅力的人、勤奋的人、入迷的人和忘我的人

木村久一:所谓天才人物指的就是具有毅力的人、勤奋的人、入迷的人和忘我的人

木村久一:所谓天才人物指的就是具有毅力的人、勤奋的人、入迷的人和忘我的人。…

年轻人不讲武德和耗子尾汁什么意思?什么梗?

年轻人不讲武德和耗子尾汁什么意思?什么梗?

最近经常在朋友圈,抖音上面刷到一些视频评论说年轻人不讲5的和耗子尾汁,小编看着感觉好奇怪,刚开始有点懵逼,结果去网上查了一下才知道,这是太极大师马保国老师讲的。究竟这个梗是怎么来的呢?其实,刚开始人家只是取笑这个马保国大师的梗,后面没有想到…

用白面书生造句,看看这七句有哪句适合你?

用白面书生造句,看看这七句有哪句适合你?

1、他是个手无缚鸡之力的白面书生。…

苹果X快充PD充电器推荐,现在下载还有优惠券可以领呢

苹果X快充PD充电器推荐,现在下载还有优惠券可以领呢

现在有很多人用的是苹果手机,因为平时有些人不注意使用方式或者使用充电器比较频繁导致损坏。大家都知道苹果手机和安卓手机的充电器是不一样的,不能用安卓手机的充电器充苹果手机。所以,大家如果苹果手机充电器损坏了,需要购买的话就要买个专门的苹果手机…

软件解压后怎么安装(手机解压软件app免费软件)

软件解压后怎么安装(手机解压软件app免费软件)

在PC端宅男、极客们会碰到需要解压缩文件的情况,这个时候大多会用到360压缩或者好压等第三方软件,然而到了移动手机端,由于自带的文件管理器大多不支持输入密码解压缩等复杂操作,让不少人对于手机解压缩文件失望,但是有时候电脑不在身边,又不得不在…

联想乐pad平板电脑有哪些版本(平板电脑排行榜性价比)

联想乐pad平板电脑有哪些版本(平板电脑排行榜性价比)

对于安卓平板电脑行业而言,创新相对来说比较困难。一方面,安卓系统的功能早已经被各方挖掘殆尽;另一方面,从整个平板电脑行业大环境来看,iPad阵营坚固的护城河也影响着安卓阵营的创新欲望。再加上时下热衷于投身平板电脑行业的品牌本来就不像以往那么…