#!/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. 百度Apollo解析——2.log系统

    Apollo中的glog 在Apollo中google glog 被广泛使用,glog 是 google 的一个 c++ 开源日志系统,轻巧灵活,入门简单,而且功能也比较完善. 1. 安装 以下是官方 ...

  2. Python-黑客-004 用Python构建一个SSH僵尸网络-02 手动与SSH交互

    用Python构建一个SSH僵尸网络-02 手动与SSH交互 - 登录SSH服务器端的 root 用户 我的电脑(攻击者)的系统:Ubuntu14.04 : 用户名: aobosir@ubuntu:~ ...

  3. cmake中设置ELF文件加载动态库的位置

    1. 三个文件 1. world.c #include<stdio.h> void world(void) { printf("world.\n"); } 2. hel ...

  4. oracle获取列的备注和数据类型

    select column_name, data_type, data_precision, data_scale, nvl((select t_s.comments from all_col_com ...

  5. XML DTD语法详解

    XML DTD详解   XML DTD详解 前情提要与本文内容介绍 前面的两篇XML相关博文: 第一篇是介绍格式正规的XML: 格式正规的XML:语法 属性 实体 处理指令 样式单 CDATA节 第二 ...

  6. jQuery AJAX 函数

    jQuery 拥有供 AJAX 开发的丰富函数(方法)库. 什么是 AJAX? AJAX = Asynchronous JavaScript and XML. AJAX 是一种创建快速动态网页的技术. ...

  7. Picasso VS Glide

    原文: Introduction to Glide, Image Loader Library for Android, recommended by Google 在泰国举行的谷歌开发者论坛上,谷歌 ...

  8. C#.Net使用正则表达式抓取百度百家文章列表

    工作之余,学习了一下正则表达式,鉴于实践是检验真理的唯一标准,于是便写了一个利用正则表达式抓取百度百家文章的例子,具体过程请看下面源码: 一:获取百度百家网页内容 public List<str ...

  9. 依赖注入(DI)与控制反转(IOC)

    DI(依赖注入,Dependency Injection),和所谓的IoC(控制反转,Inversion of Control )是一个意思. DI是一种通过接口实现松耦合的设计模式.初学者可能会好奇 ...

  10. 将Winform程序及dll打包成可执行的exe

    使用场景 通常开发的Winform程序,引用了其他类库后,在输出目录下都会产生很多DLL文件,exe执行时必须依赖这些DLL.想要Winform程序只有一个可执行exe文件,又不想打包成安装包,就可以 ...