Q:jar包启动脚本备份
jarServer.sh
#!/bin/bash
#APP_NAME必须配置。 cd `dirname $0`
cd ..
DEPLOY_DIR=`pwd`
APP_HOME=$DEPLOY_DIR/lib
LOG_FILE=$DEPLOY_DIR/logs/stdin.out
#启动的程序名称
APP_NAME=digmax-ta404.jar # 配置文件生产环境
#PROFILE=pro
#java虚拟机启动参数
JAVA_OPTS="-Xms1024m -Xmx2048m -Dlog4j2.formatMsgNoLookups=true -Dfastjson.parser.safeMode=true -Doracle.jdbc.fanEnabled=false -DMY_PASSWORD=Yhpt1qaz " #**************************
#(函数)判断程序是否已启动
#初始化psid变量
#****************************
psid=0
checkpid() {
JPID=$(ps -ef | grep "$APP_HOME/$APP_NAME" | grep -v grep | awk '{ print $2 }')
if [ -z "$JPID" ]
then
psid=0
else
psid=$JPID
fi
} #**************************
#启动程序
#****************************
start() {
checkpid
echo -n "Starting $APP_NAME ..."
nohup java -jar $JAVA_OPTS $APP_HOME/$APP_NAME > $LOG_FILE 2>&1 &
while [ $psid -lt 1 ]; do
echo -e ".\c"
sleep 1
checkpid
if [ $psid -gt 0 ]; then
echo -e "\n$APP_NAME already started! (pid=$psid)"
break
fi
done
}
#*****************************
#停止程序
#***************************** stop() {
checkpid
if [ $psid -ne 0 ]; then
echo -n "Stopping $APP_NAME ...(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 "$APP_NAME is not running"
fi
} #****************************
#检查程序运行状态
#**************************** status() {
checkpid
if [ $psid -ne 0 ]; then
echo "$APP_NAME is running! (pid=$psid)"
else
echo "$APP_NAME is not running"
fi
} log(){
tail -500f $LOG_FILE
} #参数取值示例:{start|stop|restart|status}
case "$1" in
'start')
start
;;
'stop')
stop
;;
'restart')
stop
sleep 1
start
;;
'status')
status
;;
'log')
log
;;
*)
echo "Usage: $0 {start|stop|restart|status|log}"
exit 1
esac
exit 0
us() {
checkpid if [ $psid -ne 0 ]; then
echo "$APP_NAME is running! (pid=$psid)"
else
echo "$APP_NAME is not running"
fi
} #********************************
#检查脚本的第二个参数($2),是否添加了额外的JVM参数
#读取脚本的第一个参数($1),进行判断
#参数取值示例:{start|stop|restart|status}
###################################
case "$1" in
'start')
start
;;
'stop')
stop
;;
'restart')
stop
start
;;
'status')
status
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0
Q:jar包启动脚本备份的更多相关文章
- jar包启动脚本, 以及外置配置文件application.yml
想使用sh脚本来启动,停止,重启我们的jar服务, 顺便还要外置配置文件方便修改 示例server.sh如下,启动命令为sh server.sh start或restart或stop,修改其中的这几个 ...
- SpringBoot项目jar包启动脚本
startup.bat @echo off set path=X:\xxxxxxx\Java\JDK\jre\bin START "项目名" "%path%\java&q ...
- jar 包启动脚本
#!/bin/bash JAVA_HOME=/usr/java/default #java虚拟机启动参数 JAVA_OPTS="-server -Xms800m -Xmx800m -Xmn2 ...
- Java jar包启动脚本
#!/bin/bash APP_HOME=/wdcloud/app/rps/rps-module-admin APP_JAR=rps-module-admin-*.jar APP_PIDS=$(ps ...
- Linux上java程序的jar包启动通用脚本(稳定用过)
Linux上java程序的jar包启动通用脚本如下: #! /bin/sh export LANG="zh_CN.GBK" SERVICE_NAME=` .sh` SCRIPT_N ...
- Ops:jar包启动关闭脚本
简介 公司开发架构为java语言的rpc dubbo架构,将功能分解为各个模块,模块较多,发布到环境上的应用为编译后的jar包和配置文件,以及启动关闭jar包的shell脚本.之前经常会出现进程启动不 ...
- jar包部署脚本
部署一个名为xxx的jar包,输出到out.log,只需要准备以下脚本start.sh #!/bin/sh echo " =====关闭Java应用======" PROCESS= ...
- spingboot jar 包启动遇到得坑
先摘抄一篇文章 pringboot打成jar包后,可直接用java -jar app.jar 启动,或者使用 nohup java -jar app.jar & 后台启动,也可以将 jar包链 ...
- 运行jar包shell脚本
#!/bin/sh #该文件必须放在jar包的目录下,因为是以相对路径来运行的.不放jar包目录的话,可以直接在jar_name参数写绝对路径 #start 设置三个参数 #环境 profile=te ...
- Linux中jar包启动和jar包后台运行
Linux 运行jar包命令如下: 方式一: java -jar shareniu.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? ...
随机推荐
- 终端工具之Tabby
我工作中用的最多的工具之一就是「终端连接工具」了,因为经常和 Linux 服务器打交道,经常在上面跑代码.排查系统问题等等. Windows 系统最常用的就是 Xshell 这款终端工具了,但是它只能 ...
- Mongodb4.4安装与使用
MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能 最丰富,最像关系数 ...
- Winform解决跨线程更新UI的问题
最近又拿起了Winform的程序,由于要起socket server,所以需要起线程,这里就遇到了经典的跨线程UI调用的问题. 如果什么都不写,直接由线程更新UI,会报错:线程间操作无效. 这里的解决 ...
- Element-UI 调整
1.对话框 当打开的对话框页面元素众多,俨然一个iframe页面时,可以做2个优化: 滚动条:对话框去滚动,当对话框内容过多时,把滚动条控制在对话框内部,避免出现页面级的滚动条 标题栏:优化对话框标题 ...
- 一比一还原axios源码(七)—— 取消功能
按照惯例,我们先来看下官方的例子: 你可以通过axios的CancelToken工厂函数,生成一个source,然后把这个对象作为参数传递给axios,最后,需要取消的时候调用source的cance ...
- 树莓派4B 微雪7寸触摸屏 双屏 触摸屏校正
树莓派4B+微雪7寸触摸屏+PC显示器,以触摸屏位主显示,PC显示器扩展,这时会有触摸不准的情况. 通过观察可以发现触摸被放大到了整个屏幕,即触摸屏+PC显示器. 1. 通过查看2个屏幕分辨率和位置, ...
- CVE-2023-32233 在 Google KCTF 中的漏洞利用方案分析
这是对前文的补充,增加一种漏洞利用方案的分析,前文地址: https://www.cnblogs.com/hac425/p/17967844/cve202332233-vulnerability-an ...
- C#调用Python代码的方式(二),以PaddleOCR-GUI为例
前言 前面介绍了在C#中使用Progress类调用Python脚本的方法,但是这种方法在需要频繁调用并且需要进行数据交互的场景效果并不好,因此今天分享的是C#调用Python代码的方式(二):使用py ...
- 详解AQS二:ReentrantLock公平锁原理
ReentrantLock作为我们使用频率最高的显式锁,它是AQS的经典实现,本篇文章将以ReentrantLock公平锁为例讲解AQS的实现. 一.ReentrantLock 在之前的文章<线 ...
- 重磅宣布|强强联合,腾讯云携手Veeam提供云上数据存储服务
近日获悉,腾讯云对象存储COS正式通过Veeam备份软件标准化测试,携手为用户提供云上数据存储服务. Veeam对COS的支持是通过SOBR( Scale out backup repository) ...