博客
关于我
Java-springboot部署脚本
阅读量:158 次
发布时间:2019-02-28

本文共 1333 字,大约阅读时间需要 4 分钟。

Bash脚本驱动JAR程序管理

项目部署说明

将项目文件和脚本置于同一工作目录中即可运行。脚本仅需修改第一个变量值即可适配不同项目配置。

脚本功能说明

1. 参数说明

./app.sh {start|stop|restart|status}
  • start:启动JAR程序
  • stop:立即停止运行的JAR程序
  • restart:重启已停止的JAR程序
  • status:显示JAR程序当前状态

2. 功能实现细节

1. 检查程序状态

is_exist() {    local PID=$(ps -ef | grep ${APP_NAME} | grep -v grep | awk '{print $2}')    [[ -z "${PID}" ]] && return 1 || return 0}
  • ps -ef 检查系统进程列表
  • grep ${APP_NAME} 搜索特定JAR文件名
  • grep -v grep 排除grep自身进程
  • awk '{print $2}' 提取进程PID
  • 返回状态:存在返回0,不存在返回1

2. 启动程序

start() {    is_exist    if [ $? -eq 0 ]; then        echo "${APP_NAME} is already running. Pid: ${PID}"    else        nohup java -jar ${APP_NAME} > /dev/null 2>&1 &    fi}
  • nohup防止控制终端关闭时程序退出
  • > /dev/null 2>&1 将输出和错误日志隐藏
  • 使用&后台运行程序

3. 停止程序

stop() {    is_exist    if [ $? -eq 0 ]; then        kill -9 ${PID}    else        echo "${APP_NAME} is not running"    fi}
  • 使用kill -9强制终止进程
  • 无法停止时提示用户程序未运行

4. 查看状态

status() {    is_exist    if [ $? -eq 0 ]; then        echo "${APP_NAME} is running. Pid: ${PID}"    else        echo "${APP_NAME} is NOT running."    fi}
  • 显示程序运行状态和对应PID
  • 状态不正常时提示用户

5. 重启程序

restart() {    stop    start}
  • 先停止程序,再启动新的进程

3. 使用示例

# 启动程序./app.sh start# 停止程序./app.sh stop# 重启程序./app.sh restart# 查看状态./app.sh status

注意事项

  • 确保脚本和JAR程序位于同一目录
  • 修改APP_NAME变量为实际JAR文件名
  • 在不同Linux系统中可能需要调整命令
  • 使用-9选项时,程序可能无法保存状态数据
  • 部分环境可能需要使用sudo执行脚本
  • 通过以上命令,您可以轻松管理JAR程序的运行状态,确保系统稳定性和可用性。

    转载地址:http://csnc.baihongyu.com/

    你可能感兴趣的文章
    PHP 数据库连接池实现
    查看>>
    php 数组 区别,PHP中数组的区别
    查看>>
    PHP 数组怎么添加一个元素
    查看>>
    PHP 文件上传
    查看>>
    PHP 文件操作
    查看>>
    php 文字弹幕效果代码,HTML5文字弹幕效果
    查看>>
    php 时间日期函数,获取今天开始时间,结束时间
    查看>>
    PHP 构造函数的重载
    查看>>
    php 标准规范
    查看>>
    PHP 浮点型精度运算相关问题
    查看>>
    php 浮点型计算精度问题
    查看>>
    php 特定时间段统计,jpgraph某个时间段的数据统计
    查看>>
    php 生成csv mac下乱码
    查看>>
    php 生成证书 签名及验签
    查看>>
    php 的rsa加密与解密
    查看>>
    PHP 的标准输入与输出
    查看>>
    php 笔记 (早前的,很乱)
    查看>>
    PHP 第一天
    查看>>
    Redis使用量暴增,快速定位有哪些大key在作怪
    查看>>
    php 结课作业答案,北语201803考试批次《PHP》(结课作业)1.pdf
    查看>>