Java-env.sh-stop.sh-start.sh 示例

本文介绍了一个使用Shell脚本来配置环境变量并启动Java应用程序的示例。该脚本定义了应用名称、日志目录及路径,并设置了Java运行时参数。此外,还包含了启动与停止脚本,用于管理进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • env.sh
 #!/usr/bin/env bash
APP="data_import"
LOG_BASE="/home/admin/logs"
LOG_DIR="$LOG_BASE/$APP"
export PID_FILE="$LOG_DIR/$APP.pid"
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"

export JAVA_HOME=/home/admin/local/jdk1.7.0_79
export JAVA_BIN=$JAVA_HOME/bin
export JAVA_PATH=$JAVA_HOME/bin
export JAVA_OPTS="-Xms1024m -Xmx2048m -XX:MaxPermSize=256m"
export HADOOP_USER_NAME=hdfs
CONFIG_PATH=$(cd "$(dirname "$0")/../config";pwd)
LIB_PATH=$(cd "$(dirname "$0")/../lib";pwd)

 # 缁 CLASSPATH
ALL_JARS=$(ls "$LIB_PATH")
CLASS_PATH=""
for jar in $ALL_JARS
do
    CLASS_PATH="$CLASS_PATH""$LIB_PATH""/""$jar"":"
done
CLASS_PATH=`echo $CLASS_PATH | sed -r 's/^(.*):$/\1/g'`
  • start.sh
#!/bin/sh

[  -e `dirname $0`/env.sh ]  && . `dirname $0`/env.sh

if [ ! -d "$LOG_DIR" ] ;then
    mkdir "$LOG_DIR"
    if [ $? -ne 0 ] ;then
        echo "Cannot create $LOG_DIR" >&2
        exit 1
    fi
fi

if [ -f $PID_FILE ]
then
 PID=`cat $PID_FILE`
 ps -ef | awk '{print $2}' | grep "^$PID$" >/dev/null
 if [ $? -eq 0 ]
 then
  echo "process $PID in running."
  exit 1
 fi
fi

nohup $JAVA_PATH/java $JAVA_OPTS -cp "$CONFIG_PATH:$CLASS_PATH" com.msxf.ImportServer &> /dev/null &
echo $! > $PID_FILE
PID=`cat $PID_FILE `
echo "process $PID is start ok."
~
  • stop.sh
#!/bin/sh
[  -e `dirname $0`/env.sh ]    && . `dirname $0`/env.sh
PID=`cat $PID_FILE`
kill $PID
n=10
i=1
while [ $n -gt $i ]
do
 ps -ef | awk '{print $2}' | grep "^$PID" >/dev/null
 if [ $? -eq 0 ]
 then
   sleep 1
   let i+=1
 else
   echo "stop process $PID succeed."
   exit
 fi
done
echo "stop process $PID failed."
~
~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值