#!/bin/bash

### 切换到工作目录
bin=$(cd `dirname ${0}`;pwd)
cd ${bin}
echo "bin [${bin}] .." ### 参数设置
process="RCrNew"
LOGPATH="/web/logs"
day=$(date +%Y%m%d)
#instance=$(echo ${bin}|awk -F'/' '{print $NF}') ### 如果程序已存在,先退出再执行
#if [ $(ps -ef|grep -v grep|grep ${process}|grep ${instance}|grep -Ewv "less|tail|tailf"|wc -l) -ne 0 ]
if [ $(ps -ef|grep -v grep|grep ${process}|grep -Ewv "less|tail|tailf"|wc -l) -ne 0 ]
then
ps -ef|grep -v grep|grep ${process}|grep -Ewv "less|tail|tailf"
echo "${process} instance: ${instance} is exists,Please kill it and run agin"
exit
fi ### JAVA相关参数设置
MAINCLASS="com.yyyy.app.RCNew"
JAVA="$JAVA_HOME/bin/java"
JAVA_OPTS="-server -Xms1024m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:MaxPermSize=128m "
JARS1=`find -L "${bin}/dependency" -name "*.jar" -printf '%p:'`
JARS2=$(ls -rt *jar|tail -1)
JARS=${JARS1}${JARS2}
echo -e "JARS2: [ ${JARS2} ]\nmainClass: [ ${MAINCLASS} ]"
# echo -e "JARS1: [ ${JARS1} ]\nJARS2: [ ${JARS2} ]\nmainClass: [ ${MAINCLASS} ]"
# echo -e "JARS: [ ${JARS} ]" ### 执行程序
nohup ${JAVA} ${JAVA_OPTS} -cp ${JARS} ${MAINCLASS} 1>/dev/null 2>&1 &
if [ $? -eq 0 ]
then
echo "${process} run successful"
else
echo "${process} run fail"
fi
 #!/bin/bash

 LIB=$(dirname ${})
echo "LIB [${LIB}] .." JARS=`find -L "${LIB}" -name '*.jar' -printf '%p:'`
echo "JARS [${JARS}] .." $JAVA_HOME/bin/java -cp ${JARS} com.lxw1234.hive.orc.TestORCWriter $*
#!/bin/bash
VERSION=$
MAINCLASS=$
LIB=$(cd `dirname ${}`;pwd)
cd ${LIB}
echo "LIB [${LIB}] .." JARS1=`find -L "${LIB}/dependency" -name "*.jar" -printf '%p:'`
JARS2=${JARS}`find -L "${LIB}" -maxdepth -name "*${VERSION}*.jar"`
JARS=${JARS1}${JAR2}
echo -e "JARS1: [ ${JARS1} ]\nJARS2: [ ${JARS2} ]\nmainClass: [ ${MAINCLASS} ]" $JAVA_HOME/bin/java -cp ${JARS} ${MAINCLASS} $*

shell脚本启动java程序的更多相关文章

  1. IDEA部署项目,并结合Shell脚本运行Java程序

    一.概述 在实际开发中,我们写好的代码,往往打成war包或jar包,通过winscp或其他软件将其上传至服务器,然而这样非常大的一个弊端就是不利于开发,为什么这么说呢?假如我们刚刚将springboo ...

  2. shell脚本运行java程序jar

    在UBuntu上部署项目的时候,我们往往通过一段shell来启动程序,甚至是通过crontab定时任务来定时的调用java程序,但是很奇怪的一个问题就是,比如我写了一个如下的shell脚本: #!/b ...

  3. 利用脚本启动java程序

    今天在工作中,需要写一个shell脚本,启动一个socket程序,从而模拟短信网关.查了一些资料,终于搞定了,现在记录一下,方便大家查阅. 为了说明使用方法,我们就用最简单的程序来实现,比如我们要运行 ...

  4. 编写通用shell脚本启动java项目,适用于多数服务,只需修改服务名即可

    文件名:service-user.sh 文件内容: ##shell脚本的头文件必须有#!/bin/sh ##再次配置java环境变量以防报其他错误## java env#jdk安装目录export J ...

  5. 使用nohup命令编写shell脚本启动java应用,并使用外挂配置文件

    nohup nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令.该命令可以在你退出帐户/关闭终端之后继续运行相应的进程. 在缺省情况下该作业的所 ...

  6. 使用shell/bat脚本调试java程序示例

    一.linux下shell启动java #!/bin/sh JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre # JVM_OPT ...

  7. 【linux】Shell脚本启动程序

    Linux 下后台脚本启动Jar程序 Nohup后台输出运行日志 cd /home/zeze/jar/WeiboPost java -jar WeiboAutoPost.jar ../configur ...

  8. linux shell脚本调用java main方法 代码

    #!/bin/sh # #该脚本为Linux下启动java程序的通用脚本.即可以作为开机自启动service脚本被调用, #也可以作为启动java程序的独立脚本来使用. # #Author: tuda ...

  9. Linux上设置开机启动Java程序

    在Linux上设置开机启动Java程序,例如:test.jar 在Linux上启动Java程序的命令: nohup java -jar test.jar >/dev/>& & ...

随机推荐

  1. Node.js的__dirname,__filename,process.cwd(),./的含义

    简单说一下这几个路径的意思,: __dirname: 获得当前执行文件所在目录的完整目录名 __filename: 获得当前执行文件的带有完整绝对路径的文件名 process.cwd():获得当前执行 ...

  2. linux 监控内存介绍

    一:系统监控:1.对cpu的监测:查看进程占用内存情况 top pid user PRI NI size RSS share stat 进程号 进程所属用户 优先级 优先级 进程所占空间 使用物理内存 ...

  3. 第一次WM_PAINT事件执行前显示白色框 的解决办法

    界面显示前,总是会显示白色或白加黑的窗体, 开始以为是图片加载慢的原因,后来发现这个框是在第一次WM_PAINT执行前显示的. 解决办法很简单,在CreateWindow的时候,加上WS_POPUP样 ...

  4. PythonNote03_HTML标签

    <!DOCTYPE> <html> <head> <meta charset = "utf-8" /> <meta name= ...

  5. 时间获取_Date\SimpleDateFormat\Calendar类

     1.获取当前的日期,并把这个日期转换为指定格式的字符串,如2088-08-08 08:08:08 import java.text.SimpleDateFormat; import java.uti ...

  6. Django rest framework之序列化小结

       最近在DRF的序列化上踩过了不少坑,特此结合官方文档记录下,方便日后查阅. [01]前言    serializers是什么?官网是这样的”Serializers allow complex d ...

  7. 原型模式--其实就是考察clone

    http://blog.csdn.net/zhengzhb/article/details/7393528

  8. 使用Serializable接口进行JAVA的序列化和反序列化

    OBJECT STREAMS – SERIALIZATION AND DESERIALIZATION IN JAVA EXAMPLE USING SERIALIZABLE INTERFACE Hite ...

  9. [raspberry pi3] 安装ffmpeg

    买了个pi3,pi相对于通常的嵌入式系统的最大好处是里面夹带了gcc编译器,有很多东西都不需要交叉编译了. arm和pc的性能还是不能比的,io的瓶颈还是很明显的, 想要编的快点还是要在pc上交叉编译 ...

  10. java 删除文件夹中的所有文件及文件夹

    删除文件夹(前提:文件夹为空以及InputStream和OutputStream等一些数据文件流关掉[close()],否则文件无法删除) //删除文件夹 public static void del ...