Linux上java程序的jar包启动通用脚本如下:
#! /bin/sh export LANG="zh_CN.GBK" SERVICE_NAME=`basename $ .sh`
SCRIPT_NAME=`basename $`
EXEC_JAR_NAME=$SVC_PGW_BIN_PATH/job-pbc-bat/job-pbc-bat-test-2.00..jar
JAVA_CMD="java -Djsvc-pgw-name="${SERVICE_NAME}"
-Xmx1024m
-Xms512m
-Xmn128m
-XX:MaxPermSize=128m
-XX:SurvivorRatio=
-XX:-UseParallelGC
-XX:+UseParallelOldGC
-XX:ParallelGCThreads=
-XX:+DisableExplicitGC
-Dencoding=gbk
-classpath ${EXEC_JAR_NAME}:${SVC_PGW_BIN_PATH}/job-eup-wy/config:${SVC_PGW_ENGINE_PATH}/svc-pgw-engine-1.0.jar
-Djava.ext.dirs="${JAVA_HOME}/jre/lib/ext"
-Djsvc.pgw.log.path=$SVC_PGW_LOG_PATH
cn.com.bestpay.pgw.pbcbat.handler.JobPbcBootStrap" start()
{
echo starting the $SERVICE_NAME service......
SERVICE_PID=`ps -ef | grep java | grep $SERVICE_NAME | awk '{print $2}'`
if [ ! $SERVICE_PID ]; then
$JAVA_CMD &
echo $SERVICE_NAME started!
else
echo $SERVICE_NAME had been started
fi
} stop()
{
echo Stopping the $SERVICE_NAME service......
SERVICE_PID=`ps -ef | grep java | grep $SERVICE_NAME | awk '{print $2}'`
if [ ! $SERVICE_PID ]; then
echo $SERVICE_NAME had been stopped!
else
kill - $SERVICE_PID
echo $SERVICE_NAME stopped!
fi } restart()
{
echo Restarting the $SERVICE_NAME service......
SERVICE_PID=`ps -ef | grep java | grep $SERVICE_NAME | awk '{print $2}'`
if [ ! $SERVICE_PID ]; then
$JAVA_CMD &
echo $SERVICE_NAME restarted!
else
kill - $SERVICE_PID
$JAVA_CMD &
echo $SERVICE_NAME stopped!
echo $SERVICE_NAME restarted!
fi
} case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "Usage: $SCRIPT_NAME {start|stop|restart}" >&
exit
;;
esac exit
代码仅供参考,使用时有些环境变量需要根据实际情况修改。