linux 下启动 jar包

1、项目中的使用

start.sh 文件

在这里插入图片描述

#!/bin/bash
 
APP_NAME=server-app-2.2-RELEASE

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`

#rm -f tpid
if [ ${tpid} ]; then
    echo 'Stop Process...'
    kill -15 $tpid
    sleep 5
fi
 
nohup java -jar -Xms128m -Xmx512m $APP_NAME.jar --nacos.url=119.23.224.88 --nacosspace=uat > ./log/nohup`date +%Y-%m-%d`.out 2>&1 &
echo $! > tpid
echo Start Success!

stop.sh 文件

在这里插入图片描述

ps -ef | grep server-app-2.2-RELEASE.jar | grep -v grep | awk '{print $2}' | xargs kill

或 stop.sh

#!/bin/bash

APP_NAME=ruoyi-admin
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Stop Process...'
# kill -15 即 kill,等待程序执行完成再停掉
    kill -15 $tpid
fi
sleep 5
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Kill Process!'
    kill -9 $tpid
else
    echo 'Stop Success!'
fi

2、Linux 下通过 java 命令启动 jar 包的几种常见方式

方法1:直接启动 jar 包

java -jar XXX.jar

缺点:当前ssh窗口会被锁定,不能再操作其他命令,如果需要执行其他命令,
则需要打断进程,可按CTRL + C打断程序运行,或直接关闭窗口,程序也会退出。

方法二:后台启动 jar 包

java -jar XXX.jar &
&代表在后台运行。
缺点:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行

方法三:nohup 后台不挂断启动

nohup java -jar XXX.jar &

用 nohub 命令启动 jar 包,是在后台不挂断运行,关闭终端窗口或者 CTRL + C 命令也不会终止程序。
当用 nohub命令启动 jar 包的时候,如果不指定日志输出文件,则所有的输出都会被重定向到 nohub.out 的文件中。

方式四:指定日志输出的启动

nohup java -jar XXX.jar >log.out &

通过 >log.out 命令,将程序的日志输出重定向到 log.out 文件中。
如果不指定日志输出文件,则会输出到 nohub 命令默认的输出文件,nohub.out 文件中。

方式五:指定配置文件启动,或配置参数

  • 指定配置文件
nohup java -jar XXX.jar --spring.profiles.active=pro >log.out &

通过 --spring profiles.active=pro 来指定,启动的的是application-pro.yml 或者 application-pro.properties 配置文件。
  • 指定配置参数
nohup java -jar -Xms128m -Xmx512m $APP_NAME.jar --nacos.url=119.23.224.88 --nacosspace=uat > ./log/nohup`date +%Y-%m-%d`.out 2>&1 &

通过 --nacos.url 指定nacos服务器url,如果--nacos.url没指定,则如下配置文件${nacos.url:119.23.224.88} 也是使用119.23.224.88

通过 --nacosspace 指定nacos命名空间为uat,如果没指定,则使用 如下配置的dev

spring:
  cloud:
    nacos:
      config:
        server-addr: ${nacos.url:119.23.224.88}:8848
        group: DEFAULT_GROUP
        prefix: nrbc-server-web
        file-extension: yaml
        namespace: ${nacosspace:dev}

方式六:指定配置文件,使用系统默认的log配置,不另行指定日志输入

# 启动/opt/a/目录下的 test.jar ,配置文件使用 pro,日志使用配置文件默认配置,不单独指定。
nohup java -jar /opt/a/a.jar --spring.profiles.active=pro >/dev/null 2>&1 &

常见的文件描述符有如下:

  • 0 :stdin(标准输入)
  • 1 :stdout(标准输出)
  • 2 :stderr(标准错误)

2> /dev/null

代表重定向操作。将标准错误重定向到/dev/null ,即不输出错误信息。
/dev/null 2>&1 & : 等同于 1>/dev/null 2>&1 &, 即把标准输出重定向到/dev/null,并且把标准错误2重定向标准输出1,即标准输出和标准错误都输出到 /dev/null。

方式七:指定分配系统资源大小

nohup java -Xms500m -Xmx500m -jar XXX.jar -XX:PermSize=128M -XX:MaxPermSize=256M --spring.profiles.active=dev >log.out &

-Xms堆内存初始值m -Xmx堆内存最大值m
1、堆内存:最小1024M,最大1536M。(对象使用的内存)
2、永久内存:最小128M,最大256M。(类使用的内存,PermGen)
  • 14
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值