sh脚本启动java程序

#start.sh
MAIN_CLASS=$1

#函数声明
usage() {
    echo "please set startup Args String"
    exit 1;
}

#注意中括号两边需要加空格,$#表示传入参数的个数,-lt表示转义的小于号,在右括号外边有个分号;
if [ $# -lt 3 ]; then
		#调用函数
    usage
fi

#等号做相等判断
if [ `whoami` == "root" ]; then
  echo DO NOT use root user to launch me.
  exit 1;
fi

# $0脚本名字
cd `dirname $0`/..
BASE_DIR="`pwd`"
# 在这里执行echo "$BASE_DIR" 会打印绝对路径,配置文件保存在CONF_DIR目录下
CONF_DIR=$BASE_DIR/conf

# cat 显示文件内容
export JAVA_HOME=`cat $BASE_DIR/bin/javaHome`
export PATH=$JAVA_HOME/bin:$PATH
export LANG=zh_CN.GB18030

# 如果机器和OS支持IPV4和IPV6,JAVA程序倾向于IPV4,那么应用程序使用IPV4
JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"

JAVA_OPTS="$JAVA_OPTS -server -Xms512m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=64m -Xss1m"
JAVA_OPTS="$JAVA_OPTS -XX:NewSize=128m -XX:MaxNewSize=128m"

# 使用CMS
JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC"

# gc日志配置
JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails"
JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDateStamps"
JAVA_OPTS="$JAVA_OPTS -XX:+PrintHeapAtGC"
JAVA_OPTS="$JAVA_OPTS -XX:+PrintClassHistogram"

# gc日志
JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError"
JAVA_OPTS="$JAVA_OPTS -Xloggc:$BASE_DIR/logs/gc-$TASK_NAME.log"

# 开启远程调试端口
#JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=8181,server=y,suspend=y"

# 判断文件是否存在 -f
if [ ! -f "$JAVA_HOME/bin/java" ]; then
  echo "请设置JAVA_HOME"
  exit 1;
fi

LOG_PATH=$BASE_DIR/logs
START_LOG=$LOG_PATH/start.log

#init logPath and logFile, 判断是否存在目录
if [ ! -d "$LOG_PATH" ]; then                                                                                                                                                 
	mkdir $LOG_PATH
fi 

# 启动的日志文件
if [ ! -f "$START_LOG" ]; then
  #等于 mk 创建文件
	touch $START_LOG
fi

#Start Java Process
#标准的输入,输出和错误输出分别表示为STDIN,STDOUT,STDERR,也可以用0,1,2来表示。
#command 2>&1 | ...: command的错误重定向到标准输出,错误和标准输出都通过管道传给下个命令。
# $ cat test.sh >> test 2>&1 把文件test.sh的内容append到文件test
#最后一个&表示当前shell到后台运行,类似于nohup 
#如果不加&使用控制台调用自己的脚本,脚本调用java java相当于终端的孙进程,关闭控制台,脚本进程和java进程都退出了
$JAVA_HOME/bin/java $JAVA_OPTS -classpath $CONF_DIR:$CLASSPATH:. $MAIN_CLASS >> $START_LOG 2>&1 &

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
package generconfig; import java.io.File; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.exception.InvalidConfigurationException; import org.mybatis.generator.exception.XMLParserException; import org.mybatis.generator.internal.DefaultShellCallback; import org.springframework.context.support.GenericXmlApplicationContext; import com.pactera.service.schedule.ThreadReadPath; import com.pactera.util.CommTool; /*打包用File->Export->runnable JAR File Export Launch选择对应的类 Export destination 选择地址 Library handling:Copy required */ public class SMSThreadSender { public static void main(String[] args) { if(args.length==0) { System.out.println("短信服务开启,开始加载Spring配置。"); GenericXmlApplicationContext context = new GenericXmlApplicationContext(); context.setValidating(false); context.load("classpath:sysconfig/applicationContext.xml"); context.refresh(); System.out.println("开整·~~~~"); CommTool.smsthreadisruning=true; ThreadReadPath thread = new ThreadReadPath(); thread.smsname="sms"+CommTool.threadid; Thread t1 = new Thread(thread); t1.setName("sms"); t1.start(); System.out.println("已经启动"); } if(args.length==1) { String pfile=args[0]; System.out.println("短信服务开启,开始加载Spring配置。"+pfile); GenericXmlApplicationContext context = new GenericXmlApplicationContext(); context.setValidating(false); context.load(pfile); // context.load("classpath:sysconfig/applicationContext.xml"); context.refresh(); CommTool.smsth

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值