#!/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. shell直接退出后 后台进程关闭的原因和对处

    在linux上进行测试时发现启动后台进程后,如果使用exit退出登录shell,shell退出后后台进程还是能够正常运行,但如果直接关闭登陆的窗口(如直接关掉xshell),那后台进程就会一起终了.都 ...

  2. Codeforces 8C 状压DP

    题意:有个人想收拾行李,而n个物品散落在房间的各个角落里(n < 24).现在给你旅行箱的坐标(人初始在旅行箱处),以及n个物品的坐标,你一次只能拿最多两个物品,并且拿了物品就必须放回旅行箱,不 ...

  3. python pip ez_setup.py

    #!/usr/bin/env python """Bootstrap setuptools installation To use setuptools in your ...

  4. 【摘自张宴的"实战:Nginx"】使用nginx的proxy_cache模块替代squid,缓存静态文件

    #user nobody;worker_processes 1; error_log logs/static_source.error.log;#error_log logs/error.log no ...

  5. essential C++中关于面向过程和面向对象的说明

    昨天在阅读essential C++中看到了一个关于面向过程和面向对象的区别的例子,感觉挺好的.记录下来.... 这个例子是关于照相机的.照相机有三个性质,一个是控制位置:通常使用3个浮点数据来表示其 ...

  6. 最新解决VS2017+ Mysql + EF 创建实体数据模型 闪退的办法

    研究下来,就是最新的版本兼容性不好啊. 1.找到MySql管网,下载历史版本: mysql-connector-net-6.9.12 mysql-for-visualstudio-1.2.8 2.Nu ...

  7. mono-3.0.2安装指南

     install-mono.sh.zip   mono-3.0.2安装指南.pdf   mod_mono.diff.zip mono-3.0.2安装指南 一见 2012/12/27 目录 1. 前言 ...

  8. Mysql 大数据量导入程序

    Mysql 大数据量导入程序<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" ...

  9. 《Effective Java》第2章 创建和销毁对象

    第2条:遇到多个构造器参数时要考虑用构建器 与构造器相比,builder的微略优势在于,builder可以有多个可变(varargs)参数.构造器就像方法一样,只能有一个可变参数.因为builder利 ...

  10. 在WindowsXP+IIS5.1下运行ASP.NET MVC3

    1. 安装ASP.NET MVC3 http://download.microsoft.com/download/1/4/C/14C0533D-2299-42CD-898C-10AA5156E243/ ...