shell脚本调用jar包main,shell脚本main函数
如何解决写爬虫IP受阻的问题?立即使用。
linux shell脚本如何调用java main方法?
linux shell脚本调用java main方法解决方法:
#!/bin/sh
#
#这个脚本是在Linux下启动java程序的通用脚本。也就是说,它可以被称为启动自启动服务脚本,
#它也可以作为一个独立的脚本来启动java程序。
#
#作者:tudaxia.com,日期:2011/6/7
#
#警告!该脚本的停止部分使用系统kill命令强制终止指定的java程序进程。
#在终止进程之前没有进行条件检查。在某些情况下,如程序写入文件或数据库,
#这可能会导致数据丢失或数据不完整。如果你不得不考虑这种情况,你需要重写这个脚本。
#在执行kill命令之前添加一系列检查。
#
###################################
#以下注释设置可以通过chkconfig命令读取。
# chkconfig: - 99 50
#描述:Java程序启动脚本
# processname:测试
# config:如果需要的话可以配置。
###################################
#
###################################
#环境变量和程序执行参数
#这些参数需要根据实际环境和Java程序名进行修改。
###################################
#JDK之路
JAVA _ HOME=/usr/JAVA/JDK 1 . 8 . 0 _ 102
#出于安全原因,建议用于启动程序的系统用户不要使用root帐户。
# RUNNING _ USER=门户
#Java程序所在的目录(以前的类目录)
app _ home=/opt/tmp/gee cuser/geec _ calculate #要启动的Java主程序(主方法类)
APP _ main class=com . ai . core . start . main
#拼凑完整的类路径参数,包括指定lib目录中的所有jar
CLASSPATH=$APP_HOME/classes
对于 $APP_HOME/lib/*中的I。罐子;做
CLASSPATH=$CLASSPATH:$i
完成的
#java虚拟机启动参数
JAVA _ OPTS=-ms 1024m-MX 1024m-xmn 512m-DJ ava . awt . headless=true-XX:MaxPermSize=256m
###################################
#(函数)确定程序是否已经启动。
#
#描述:
#使用JDK提供的JPS命令和grep命令的组合来精确查找pid。
#jps加L参数表示java的完整包路径。
#使用awk,划分PID(1部分)和Java程序名(2部分)
###################################
#初始化psid变量(全局)
psid=0
checkpid() {
javaps=` $ JAVA _ HOME/bin/jps-l grep $ APP _ main class ` 1
if[-n $ javaps ];然后
psid=` echo $ javaps awk { print $ 1 }
其他
psid=0
船方不负担装货费用
}
###################################
#(功能)启动程序
#
#描述:
#1.首先调用checkpid函数来刷新$psid全局变量。
#2.如果程序已经启动($psid不等于0),会提示程序已经启动。
#3.如果程序没有启动,请执行启动命令行。
#4.执行启动命令后,再次调用checkpid函数。
#5.如果步骤4的结果可以确认程序的pid,则打印[OK],否则打印[Failed]
#注意:echo -n表示打印字符后,没有换行。
#注意:使用“nohup command /dev/null 21”
# # # # # # # # # # # # # # # # # # # # # # # # # # # start(){
checkpid
if[$ psid-ne 0];然后
回声=============================
echo warn: $APP_MAINCLASS已经启动! pid=$psid
回声=============================
其他
echo -n 正在启动$APP_MAINCLASS .
JAVA _ CMD= nohup $ JAVA _ HOME/bin/JAVA $ JAVA _ OPTS-class path $ class path $ APP _ main class $ APP _ HOME/log/nohup 21
eval $JAVA_CMD
checkpid
if[$ psid-ne 0];然后
echo (pid=$psid) [OK]
其他
回显“[失败]”
船方不负担装货费用
船方不负担装货费用
}
###################################
#(功能)停止程序
#
#描述:
#1.首先调用checkpid函数来刷新$psid全局变量。
#2.如果程序已经启动($psid不等于0),开始执行并停止;否则,程序不会运行。
#3.使用kill -9 pid命令强制终止进程。
#4.在执行kill命令行后,立即检查最后一个命令的返回值:$?
#5.如果第4步的结果是$?如果等于0,将打印[OK],否则将打印[Failed]。
#6.为了防止java程序多次启动,这里增加了反复检查进程和反复kill(递归调用stop)的处理。
#注意:echo -n表示打印字符后,没有换行。
#注意:在shell编程中, $?指示上一个命令或函数的返回值。
# # # # # # # # # # # # # # # # # # # # # # # # # # # # stop(){
checkpid
if[$ psid-ne 0];然后
echo -n 停止$APP_MAINCLASS. pid=$psid
kill -9 $psid如果[ $?-eq 0];然后
回显[好]
其他
回显“[失败]”
船方不负担装货费用
checkpid
if[$ psid-ne 0];然后
停止
船方不负担装货费用
其他
回声=============================
echo 警告:$APP_MAINCLASS未运行
回声=============================
船方不负担装货费用
}
###################################
#(函数)检查程序的运行状态
#
#描述:
#1.首先调用checkpid函数来刷新$psid全局变量。
#2.如果程序已经启动($psid不等于0),则提示正在运行并指示pid。
#3.否则,提示程序不会运行。
############################状态(){
checkpid
if[$ psid-ne 0];然后
echo $APP_MAINCLASS正在运行! pid=$psid
其他
回显“$APP_MAINCLASS未运行”
船方不负担装货费用
}
###################################
#(功能)打印系统环境参数
# # # # # # # # # # # # # # # # # # # # # # # # # # # # info(){
echo“系统信息:”
回声 *************************
echo `head -n 1 /etc/issue
回声 uname -a
回声
echo JAVA_HOME=$JAVA_HOME
echo `JAVA _ HOME/bin/JAVA-version `文件
回声
echo APP_HOME=$APP_HOME
echo APP _ main class=$ APP _ main class
回声 *************************
}
###################################
#读取脚本的第一个参数($1)并做出判断
#参数值范围:{开始停止重新启动状态信息}
#如果参数不在规定范围内,打印帮助信息。
###################################
案例 $1 在
开始’)
开始
;
停止’)
停止
;
重启’)
停止
开始
;
状态’)
状态
;
信息’)
信息
;
*)
echo 用法:$ 0 {开始停止重新启动状态信息}
1号出口
environmental systems applications center 环境系统应用程序中心
0退出推荐教程:《JAVA视频教程》以上是linux shell脚本如何调用java main方法?更多详情请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。