jar包启停shell脚本
jar包控制脚本1
#!/bin/bash
export JAVA_HOME=/u01/java_home/jdk1.8.0_181
export APP_HOME=/u01/test
export APP_NAME=mzyzsjz-server-0.0.1-SNAPSHO.jar
export PROG=test
function getPid {
PID=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}'|awk 'NR==1'`
} getPid
case $1 in
start)
if [ ! $PID ];then
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
echo "starting"
sleep 1
getPid
echo -e "$PROG is \033[32mActive\033[0m, PID = $PID"
else
echo "$PROG is exist, PID = $PID"
fi
;;
stop)
if [ $PID ];then
kill -15 $PID
echo "stoping..."
sleep 1
getPid
echo -e "$PROG is \033[31mDead\033[0m"
else
echo "$PROG is not exist"
fi
;;
restart)
echo "restarting..."
if [ $PID ];then
kill -15 $PID
sleep 3
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
getPid
echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID"
else
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
sleep 1
getPid
echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID"
fi
;;
*)
echo "Usage:{$0 start|stop|restart}"
;;
esac
exit 0
jar包控制脚本2
#!/bin/bash
export JAVA_HOME=/u01/java_home/jdk1.8.0_181
export APP_HOME=/u01/yzsjz
export APP_NAME=mzyzsjz-server-0.0.1-SNAPSHOT.jar
export PROG=yzsjz function getPid {
PID=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}'|awk 'NR==1'`
} getPid
case $1 in
start)
if [ ! $PID ];then
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
echo "starting..."
sleep 1
getPid
echo -e "$PROG is \033[32mActive\033[0m, PID = $PID"
else
echo "$PROG is exist, PID = $PID"
fi
;;
stop)
if [ $PID ];then
kill -15 $PID
echo "stoping..."
sleep 1
getPid
echo -e "$PROG is \033[31mDead\033[0m"
else
echo "$PROG is not exist"
fi
;;
restart)
echo "restarting..."
if [ $PID ];then
kill -15 $PID
sleep 2
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
getPid
echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID"
else
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
sleep 1
getPid
echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID"
fi
;;
check)
if [ -d $JAVA_HOME ]; then
echo -e "$JAVA_HOME \033[32mgood JAVA_HOME\033[0m"
else
echo -e "$JAVA_HOME \033[31mbad JAVA_HOME\033[0m"
fi
if [ -d $APP_HOME ]; then
echo -e "$APP_HOME \033[32mgood APP_HOME\033[0m"
if [ -f $APP_HOME/$APP_NAME ]; then
echo -e "$APP_NAME \033[32mgood APP_NAME\033[0m"
else
echo -e "$APP_NAME \033[31mbad APP_NAME\033[0m"
fi
else
echo -e "$APP_HOME \033[31mbad APP_HOME\033[0m"
fi
;;
log)
tail -500f $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out
;;
*)
echo "Usage:{$0 start|stop|restart|check|log}"
;;
esac
exit 0
jar包控制脚本改进(端口启停监听)
#!/bin/bash
# chkconfig: 2345 10 90
# auther by wangxp export JAVA_HOME=/u01/java_home/jdk1.8.0_181
export APP_HOME=/u01/yzsjz
export APP_NAME=mzyzsjz-server-0.0.1-SNAPSHOT.jar
export PROG=yzsjz function getPid(){
sleep 0.5
PID=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}'|awk 'NR==1'`
echo "$APP_HOME/logs/catalina.`date +%Y-%m-%d`.out" > $APP_HOME/logs/currentlog.pid
} function checkProg(){
t=0
while (($PID))
do
t=$[$t+1]
if [ $1 == "start" ];then
if [ "`ss -ntlp |grep $PID`" ]; then
echo -e "\nstarted"
PORT=`ss -ntlp |grep $PID|awk 'NR==1 {print $4}'|cut -d: -f4`
break
else
echo -ne "\rstarting...$t"
sleep 1
fi
fi
if [ $1 == "stop" ];then
if [ "`ss -ntlp |grep $PID`" ]; then
echo -ne "\rstopping...$t"
sleep 1
else
echo -e "\nstopped"
break
fi
fi
done
} if [ `whoami` == "root" ];then
getPid
case $1 in
start)
if [ ! $PID ];then
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
getPid
checkProg "start"
echo -e "$PROG is \033[32mActive\033[0m, PID = $PID , PORT= $PORT"
else
echo "$PROG is exist, PID = $PID"
fi
;;
stop)
if [ $PID ];then
kill -15 $PID
getPid
checkProg "stop"
echo -e "$PROG is \033[31mDead\033[0m"
else
echo "$PROG is not exist"
fi
;;
restart)
if [ $PID ];then
kill -15 $PID
checkProg "stop"
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
getPid
checkProg "start"
echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID , PORT= $PORT"
else
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
getPid
checkProg "start"
echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID , PORT= $PORT"
fi
;;
check)
if [ -d $JAVA_HOME ]; then
echo -e "$JAVA_HOME \033[32mgood JAVA_HOME\033[0m"
$JAVA_HOME/bin/java -version
else
echo -e "$JAVA_HOME \033[31mbad JAVA_HOME\033[0m"
fi
if [ -d $APP_HOME ]; then
echo -e "$APP_HOME \033[32mgood APP_HOME\033[0m"
if [ -f $APP_HOME/$APP_NAME ]; then
echo -e "$APP_NAME \033[32mgood APP_NAME\033[0m"
else
echo -e "$APP_NAME \033[31mbad APP_NAME\033[0m"
fi
else
echo -e "$APP_HOME \033[31mbad APP_HOME\033[0m"
fi
;;
log)
tailf -500 `cat $APP_HOME/logs/currentlog.pid`
;;
*)
echo "Usage:{$0 start|stop|restart|check|log}"
;;
esac
else
echo "you must use root to execute"
fi
exit 0
jar包启停shell脚本的更多相关文章
- nginx启停shell脚本
#!/bin/bash # 编写 nginx 启动脚本 # 本脚本编写完成后,放置在/etc/init.d/目录下,就可以被 Linux 系统自动识别到该脚本 # 如果本脚本名为/etc/init.d ...
- 编写Redis启停服务脚本
脚本内容如下; fi esac exit$RETVAL 下载脚本:艺搜下载 将下载下来的脚本放在/etc/init.d/目录下 更改脚本权限 chmod 777 /etc/init.d/red ...
- Redis windows版本的启停bat脚本命令
Reids windows版本安装 redis windows官网推荐:https://github.com/MicrosoftArchive/redis/releases 下载解压即可. 启停bat ...
- SpringBoot打成的jar包发布,shell关闭之后一直在服务器运行
1:可以编写shell脚本, 切换到执行的jar包目录,然后使用nohup 让改命令在服务器一直运行 #!/bin/bash cd /srv/ftp/public nohup java -jar l ...
- 使用jar命令打jar/war包、创建可执行jar包、运行jar包、及批处理脚本编写
jar 命令 jar 是一个jar.exe可执行命令,即可以生成jar文件,也可以生成war文件 使用示例:jar -cvf ../xxx.jar * -c create,创建新的归档文档 ...
- shell启停服务脚本模板
一. 启动脚本模板:符合幂等性 如果该服务已经启动,再次调用该脚本,不会报错,也就是说可以反复多次调用,另外启动成功返回 一个参数,提供给自动发布平台校验该服务是否启动 #!/bin/bash ins ...
- 编写Nginx启停服务脚本
在/etc/init.d/目录下创建脚本 vim /etc/init.d/nginx 编写脚本内容:(其中下面2行需要根据情况自行修改) nginxd=/opt/nginx/sbin/nginx ng ...
- spring boot 以jar的方式启动常用shell脚本
用spring boot框架做的项目,将第三方包全部打在jar里面,通过shell脚本启动和停止服务,常用的shell脚本模板如下: #!/bin/bashJAVA_OPTIONS_INITIAL=- ...
- 04. 启停redis服务
启动 查看redis.conf文件,可以通过general中的说明,配置通过systemd来启停redis和查看redis状态(作者没有采用,而是使用service管理,service配置参考< ...
- linux上jar包的运行
指定目录: #!/bin/bash source /etc/profile log() { echo `date +[%Y-%m-%d" "%H:%M:%S]` $1 } log ...
随机推荐
- GPUStack v0.4:文生图模型、语音模型、推理引擎版本管理、离线支持和部署本地模型
GPUStack 是一个专为运行 AI 模型设计的开源 GPU 集群管理器,致力于支持基于任何品牌的异构 GPU 构建统一管理的算力集群.无论这些 GPU 运行在 Apple Mac.Windows ...
- 德承工控机DX-1200 成功适配2024年6月6日发布的国产开源系统OpenEuler 24.03 LTS
基础软件双子星:欧拉系统(OpenEuler)& 鸿蒙系统(OpenHarmony),鸿蒙系统常应用在华为的手机和平板电脑上,大众也较为熟悉,是面向消费电子产品领域的系统:而欧拉系统则是面向服 ...
- IO介绍-上
IO IO系统管理的主要对象是IO设备和相应的设备控制器.其主要任务是,完成用户提出的IO请求,提高IO效率,以及提高设备的利用率.并能为更高层的进程方比那使用这些设备提供手段. IO系统的基本功能 ...
- django连接数据库与orm基础知识
目录 一.django连接数据库 二.pycharm连接MySQL数据库 三.ORM简介 1.ORM概念 2.ORM由来 3.ORM的优势和劣势 ORM的优势 ORM的劣势 四.ORM基本操作 1.现 ...
- 跟着 8.6k Star 的开源数据库,搞 RAG!
过去 9 年里,HelloGitHub 月刊累计收录了 3000 多个开源项目.然而,随着项目数量的增加,不少用户反馈:"搜索功能不好用,找不到想要的项目!" 这让我意识到,仅仅收 ...
- 用EwoMail开源版搭建邮箱服务器
介绍: EwoMail是基于Linux的开源邮件服务器,支持一键搭建,集成了众多优秀稳定的组件,是一个快速部署.简单高效.安全稳定的邮件解决方案,支持电脑和手机的客户端,适合个人或邮箱功能需求少的企业 ...
- Qt/C++编写物联网组件/支持modbus/rtu/tcp/udp/websocket/mqtt/多线程采集
一.功能特点 支持多种协议,包括Modbus_Rtu_Com/Modbus_Rtu_Tcp/Modbus_Rtu_Udp/Modbus_Rtu_Web/Modbus_Tcp/Modbus_Udp/Mo ...
- Qt音视频开发20-vlc内核动态保存录像文件(不需要重新编译源码)
一.前言 在vlc默认提供的保存文件方式中,通过打开的时候传入指定的参数来保存文件,直到关闭播放生成文件,这种方式简单暴力,但是不适用大部分的场景,大部分时候需要的是提供开始录制和停止录制的功能,也就 ...
- VC++2008、2010、2012、2015、2017等IDE中如何设置命令行参数进行程序调试
有时我们在写程序时会从命令行中直接读入参数,形如: int main(int argc,char**argv){ //your code here return 0; } 其实在vc2010 IDE中 ...
- AI在线文档手册
AI在线文档手册 ABCDFGHIKLMNOPRSTW A Accord.NET 英文文档Azure ML StudioAmazon Machine LearningAmazon Rekognitio ...