linux shell脚本调用java main方法 代码传值
#!/bin/bash
#description: ljdjService
export PRG_HOME=/ainmc/work/toptea/dataTransfer
PRG_KEYWORD=projectName
PRG=$PRG_HOME/server.sh
JAVA_HOME=/aa/bb/jdk1.8.0_111 #jdk安装位置
LOGCFG="-Dlogback.configurationFile=$PRG_HOME/conf/logback.xml"
FILE_ENCODING="-Dfile.encoding=utf-8"
jvmOpt="-Xms2048m -Xmx2048m -XX:PermSize=256M -XX:MaxPermSize=512m"
PRG_RUN_USER=nmcuser
pidFile=$PRG_HOME/server.pid
MAIN_CLASS=com.ai.vv.aa.Main # main方法的路径
jarDir=$PRG_HOME/lib
transferType="$2"
cd $PRG_HOME
function start(){ echo "will start $PRG_KEYWORD $transferType"
export CLASSPATH=.
for jar in `ls $PRG_HOME/lib/*.jar`
do
CLASSPATH=$CLASSPATH:$jar
done
# nohup "$JAVA_HOME"/bin/java -Djobname="$PRG_KEYWORD" -cp "$CLASSPATH" $jvmOpt $LOGCFG $FILE_ENCODING $MAIN_CLASS add "$transferType" >/dev/null 2>&1&
"$JAVA_HOME"/bin/java -Djobname="$PRG_KEYWORD" -cp "$CLASSPATH" $jvmOpt $LOGCFG $FILE_ENCODING $MAIN_CLASS add "$transferType"
for(( i=1;i<=10;i++));do
if [ -e $pidFile ]; then
echo "$PRG_KEYWORD is started,pid=`cat $pidFile`"
break
fi
sleep 2
done
}
function delete(){ echo "will start $PRG_KEYWORD"
export CLASSPATH=.
for jar in `ls $PRG_HOME/lib/*.jar`
do
CLASSPATH=$CLASSPATH:$jar
done
# nohup "$JAVA_HOME"/bin/java -Djobname="$PRG_KEYWORD" -cp "$CLASSPATH" $jvmOpt $LOGCFG $FILE_ENCODING $MAIN_CLASS delete "$transferType">/dev/null 2>&1&
"$JAVA_HOME"/bin/java -Djobname="$PRG_KEYWORD" -cp "$CLASSPATH" $jvmOpt $LOGCFG $FILE_ENCODING $MAIN_CLASS delete "$transferType"
for(( i=1;i<=10;i++));do
if [ -e $pidFile ]; then
echo "$PRG_KEYWORD is started,pid=`cat $pidFile`"
break
fi
sleep 2
done
}
psid=0
checkpid() {
javaps=`$JAVA_HOME/bin/jps -l | grep $PRG_KEYWORD` if [ -n "$javaps" ]; then
psid=`echo $javaps | awk '{print $1}'`
else
psid=0
fi
} stop() {
checkpid if [ $psid -ne 0 ]; then
echo -n "Stopping $PRG_KEYWORD ...(pid=$psid) "
kill -9 $psid
if [ $? -eq 0 ]; then
echo "[OK]"
else
echo "[Failed]"
fi checkpid
if [ $psid -ne 0 ]; then
stop
fi
else
echo "================================" echo "================================"
fi
}
case "$1" in
start)
if [ -e $pidFile ]; then
pid=`cat $pidFile`
tpid=`ps -ef | grep java | grep -v grep | grep jobname=$PRG_KEYWORD | grep -c "$PRG_RUN_USER "`
if [ $tpid -lt 1 ]; then
start
else
echo "$PRG_KEYWORD already started!! pid="$pid
fi
else
tpid=`ps -ef | grep java | grep -v grep | grep jobname=$PRG_KEYWORD | grep -c "$PRG_RUN_USER "`
pid=`ps -ef | grep java | grep -v grep | grep jobname=$PRG_KEYWORD | grep "$PRG_RUN_USER " | awk '{print $2}'`
if [ $tpid -lt 1 ]; then
start
else
echo "$PRG_KEYWORD already started!! pid="$pid
echo "$pid">server.pid
fi
fi
;; del)
if [ -e $pidFile ]; then
pid=`cat $pidFile`
tpid=`ps -ef | grep java | grep -v grep | grep jobname=$PRG_KEYWORD | grep -c "$PRG_RUN_USER "`
if [ $tpid -lt 1 ]; then
delete
else
echo "$PRG_KEYWORD already started!! pid="$pid
fi
else
tpid=`ps -ef | grep java | grep -v grep | grep jobname=$PRG_KEYWORD | grep -c "$PRG_RUN_USER "`
pid=`ps -ef | grep java | grep -v grep | grep jobname=$PRG_KEYWORD | grep "$PRG_RUN_USER " | awk '{print $2}'`
if [ $tpid -lt 1 ]; then
delete
else
echo "$PRG_KEYWORD already started!! pid="$pid
echo "$pid">server.pid
fi
fi
;;
stop)
stop;;
*)
echo "Usage: server.sh (start|del|stop 工单类型英文关键字)"
esac
linux shell脚本调用java main方法 代码传值的更多相关文章
- linux shell脚本调用java main方法 代码
#!/bin/sh # #该脚本为Linux下启动java程序的通用脚本.即可以作为开机自启动service脚本被调用, #也可以作为启动java程序的独立脚本来使用. # #Author: tuda ...
- linux 调用java main方法
#!/bin/shexport LANG=zh_CNtimestamp=`date +%Y%m%d%H%M`/opt/java6/bin/java -Xms128m -Xmx512m -Dfile.e ...
- linux c程序中获取shell脚本输出的实现方法
linux c程序中获取shell脚本输出的实现方法 1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作. ...
- 在linux下sh批处理文件调用java的方法
解密 java -classpath collection-impl-0.0.1.jar com.ai.toptea.collection.message.DESEncrypt 1EFE4663895 ...
- 学习Linux shell脚本中连接字符串的方法
这篇文章主要介绍了Linux shell脚本中连接字符串的方法,如果想要在变量后面添加一个字符,可以用一下方法: 代码如下: $value1=home $value2=${value1}"= ...
- linux使用shell脚本停止java进程
使用shell脚本停止java进程,过程就是先查出对应的java进程pid,然后kill掉 - | 其中xxx是对应进程的关键词(即从查出的所有java进程中分辨出目标进程)
- LINUX SHELL脚本攻略笔记[速查]
Linux Shell脚本攻略笔记[速查] 资源 shell script run shell script echo printf 环境变量和变量 pgrep shell数学运算 命令状态 文件描述 ...
- Linux shell脚本编程(三)
Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...
- Linux shell脚本编程(一)
Linux shell脚本编程: 守护进程,服务进程:启动?开机时自动启动: 交互式进程:shell应用程序 广义:GUI,CLI GUI: CLI: 词法分析:命令,选项,参数 内建命令: 外部命令 ...
随机推荐
- ActiveReport系列报表开发随笔收集
转自:博客园 http://www.cnblogs.com/dahuzizyd/archive/2007/04/11/ActiveReport_All.html 使用ActiveReport for ...
- c# 二进制序列化
public static T Deserialize<T, S>(S stream) where S : Stream where T : class, new() { using (s ...
- java.. C# 使用AES加密互解 采用AES-128-ECB加密模式
java需要下载外部包, commons codec.jar 1.6 較新的JAVA版本把Base64的方法改成靜態方法,可能會寫成Base64.encodeToString(encrypted, ...
- Javascript 自动执行函数(立即调用函数)
开头:各种原因总结一下javascript中的自动执行函数(立即调用函数)的一些方法,正文如下 在Javascript中,任何function在执行的时候都会创建一个执行上下文,因为function声 ...
- js之跑马灯广告
目标效果:每过1秒重复把广告的第一个字符放到最后,达到动态跑马灯效果 代码如下: <!DOCTYPE html> <html lang="en"> < ...
- 《Inside C#》笔记(完) 程序集
程序集内部包含了各种相关的模块.资源文件.配置文件等,将这些在功能上相关的文件整合到单个文件中,以便于部署和维护.使用C#编译器编译程序时,生成的便是程序集. 一.清单数据 a)如果编译的是独立应用程 ...
- Oracle EBS FA 获取累计折旧
FUNCTION get_ltd_deprn(p_asset_id IN NUMBER, p_book_type_code IN VARCHAR2, p_rate_source_rule IN VAR ...
- 洗礼灵魂,修炼python(41)--巩固篇—从游戏《绝地求生-大逃杀》中回顾面向对象编程
声明:本篇文章仅仅以游戏<绝地求生>作为一个参考话题来介绍面向对象编程,只是作为学术引用,其制作的非常简易的程序也不会作为商业用途,与蓝洞公司无关. <绝地求生>最近很火,笼络 ...
- Python零基础学习系列之三--Python编辑器选择
上一篇文章记录了怎么安装Python环境,同时也成功的在电脑上安装好了Python环境,可以正式开始自己的编程之旅了.但是现在又有头疼的事情,该用什么来写Python程序呢,该用什么来执行Python ...
- Mvc检查图片格式后上传
/// <summary> /// 检查是否文件是否图片并保存 /// </summary> /// <param name="file">文件 ...