shell java应用启动脚本(app.sh)

本文介绍了一个用于启动Java服务的Shell脚本示例。该脚本定义了启动(start)、停止(stop)、重启(restart)及状态检查(status)等功能,并配置了classpath路径和Java参数。通过递归遍历lib和applib目录下的所有jar包来设置ClassPath。

#!/bin/sh

# java服务中需要的jar文件或classpath路径,如业务程序、第三方jar文件log4j等

ShellAbsPath=$(cd "$(dirname "$0")"; pwd)
BinDir=`dirname $0`
AppName=`basename $0`
AppName=${AppName%.*}

ClassPath=""
WorkPath=$(cd "$(dirname "$0")"; pwd)
RunPath=${WorkPath}/config

ClassName="com.alter.Application"

function getLibs(){
for file in $1/*.jar
do
ClassPath=$file:$ClassPath
done
}

function addPath(){
LibPath=$1:$LibPath
}

function start(){
cd ${RunPath}
#java -server -Xms1024m -Xmx1024m -XX:+UseParallelGC -XX:-UseGCOverheadLimit -classpath ${ClassPath} -Djava.library.path=${ClassPath} ${ClassName} >&1 &
java -server -Xms256m -Xmx256m -XX:+UseParallelGC -XX:-UseGCOverheadLimit -classpath ${ClassPath} -Djava.library.path=${ClassPath} ${ClassName} >/xxx-xx/config/log/log.log &
}

function stop(){
ps -aef| grep ${WorkPath} |grep -v grep|awk '{print $2}'|xargs kill -9
}

function status(){
ps -aef|grep $ClassName|grep ${WorkPath}|grep -v grep

}

getLibs ${ShellAbsPath}/lib
getLibs ${ShellAbsPath}/applib

case "$1" in
start)
start
status
;;
stop)
stop
;;
restart|reload)
stop
start
;;
status)
status
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|status}"
exit 1
esac

exit 0;

转载于:https://www.cnblogs.com/alter888/p/8985642.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值