使用 linux shell脚本启动jar包,进行关闭,查看状态

Posted 健康平安的活着

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 linux shell脚本启动jar包,进行关闭,查看状态相关的知识,希望对你有一定的参考价值。

一  启动jar包普通方式

1.将jar包打包好,上传服务器,并使用jar包的配置文件:application-dev.yml放到和jar包同一目录下,如下图所示

2. 启动命令:

nohup java -jar -Dfile.encoding=utf-8  -Dspring.config.location=/root/ljf-tmp/application-dev.yml   pmsm-bloc-portal.jar  > nohup.out 2>&1 & 

二 使用shell脚本进行启动jar包

1.编写脚本内容:

#!/bin/bash
source /etc/profile
currTime=`date +"%Y-%m-%d %H:%M:%S"`
APP_NAME=pmsm-bloc-portal.jar
APP_DIR=/root/ljf-tmp
APP_CONFIG_FILE=application-dev.yml
#检查程序是否在运行
is_exist()
  pid=`ps -ef|grep $APP_NAME|grep -v grep|awk 'print $2'`
  #如果不存在返回1,存在返回0     
  if [ -z "$pid" ]; then
   return 1
  else
    return 0
  fi

#启动方法
start()
  is_exist
  if [ $? -eq 0 ]; then
    echo "【 $APP_NAME 】is already running. pid=$pid"
  else
    nohup java -jar -Dfile.encoding=utf-8  -Dspring.config.location=$APP_DIR/$APP_CONFIG_FILE   $APP_DIR/$APP_NAME  > nohup.out 2>&1 & 
    pid=`ps -ef|grep java|grep $APP_NAME|awk 'print $2'`
    echo "$currTime:start 【 $APP_NAME 】is successfully!!!,this app pid:$pid"
  fi



#程序主入口
start

2.赋予脚本执行权限

[root@km-003 ljf-tmp]# chmod 777 startup-jar.sh
3.执行脚本,启动jar包

[root@km-003 ljf-tmp]# ./startup-jar.sh 
2022-10-24 22:02:37:start pmsm-bloc-portal.jar is successfully!!!,this app pid:2818983


三  使用shell脚本,进行传参启动,查看,停止

1.编写脚本内容

#!/bin/bash
source /etc/profile
#自定义配置
currTime=`date +"%Y-%m-%d %H:%M:%S"`
APP_NAME=pmsm-bloc-portal.jar
APP_DIR=/root/ljf-tmp
APP_CONFIG_FILE=application-dev.yml
#检查程序是否在运行
is_exist()
  pid=`ps -ef|grep $APP_NAME|grep -v grep|awk 'print $2'`
  #如果不存在返回1,存在返回0     
  if [ -z "$pid" ]; then
   return 1
  else
    return 0
  fi

#启动方法
start()
  is_exist
  if [ $? -eq 0 ]; then
    echo "$APP_NAME is already running. pid=$pid"
  else
    nohup java -jar -Dfile.encoding=utf-8  -Dspring.config.location=$APP_DIR/$APP_CONFIG_FILE   $APP_DIR/$APP_NAME  > nohup.out 2>&1 & 
    pid=`ps -ef|grep java|grep $APP_NAME|awk 'print $2'`
    echo "$currTime:start $APP_NAME is successfully!!!,this app pid:$pid"
  fi


#停止方法
stop()
  is_exist
  if [ $? -eq "0" ]; then
    kill -9 $pid
    echo "$APP_NAME is already shutdown"
  else
    echo "$APP_NAME is not running"
  fi  


#输出运行状态
status()
  is_exist
  if [ $? -eq "0" ]; then
    echo "$APP_NAME is running. Pid is $pid"
  else
    echo "$APP_NAME is NOT running."
  fi

#重启
restart()
  stop
  sleep 5
  start


#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
  "start")
    start
    ;;
  "stop")
    stop
    ;;
  "status")
    status
    ;;
  "restart")
    restart
    ;;
  *)
    usage
    ;;
esac

2.赋予脚本执行权限

[root@km-003 ljf-tmp]# chmod 777 startup-jar.sh
3.执行脚本,启动jar包

脚本文件见:

 

以上是关于使用 linux shell脚本启动jar包,进行关闭,查看状态的主要内容,如果未能解决你的问题,请参考以下文章

Linux shell脚本启动 停止 重启jar包

mac下如何用脚本启动jar包程序

Linux下批量启动jar包的shell脚本

java项目打成jar包并部署到Linux服务器,以及在shell脚本中启动java程序

linux shell调用java的jar包怎么写?

linux服务器部署jar包以及shell脚本的书写