当前位置: 首页 > article >正文

Linux上部署Java项目-通过sh脚本启动

话不多说、上代码

#!/bin/bash
 
# JAR存放全路径
PROJECT_JAR_HOME='/home/project/linsn_box'
PROJECT_NAME_JAR='zhangsan-admin.jar'
 
# 执行启动操作
start(){
# 切换到JAR项目目录
cd $PROJECT_JAR_HOME
# 执行启动命令
nohup java -jar $PROJECT_NAME_JAR > /dev/null 2>&1 & 
# 输出已执行启动完成
echo The project has been initiated and completed
}
 
# 执行停止操作
stop(){
 # 查询正在运行的pid
A_PID=$(ps -ef | grep $PROJECT_NAME_JAR | grep -v grep | awk '{print $2}')
 # 判断是否为空 
if [ -z "$A_PID" ]
 then
 # 如果为空 则表示项目已停止或未启动
  echo The project has been stopped or not started yet
 else
 # 如果不为空则执行停止操作
  echo The project is currently running
  kill -9 $A_PID
  echo The project has executed the stop command
fi
}
 
# 执行查看操作
status(){
 # 查询正在运行的pid
B_PID=$(ps -ef | grep $PROJECT_NAME_JAR | grep -v grep)
 # 判断是否为空
 if [ -z "$B_PID" ]
then
 # 如果为空 则表示项目已停止或未启动
 echo The project cannot be found
else
 echo The project is currently running pid:$B_PID
fi
}
 
case $1 in
 start)
  start
;;
stop)
  stop
;;
status)
  status
;;
restart)
 $0 stop
 sleep 5
 $0 start
;;
*)
 echo Can only be executed {start|stop|restart}
;;
esac
exit 0

以上代码重命名为 project-opt.sh 即可(前提条件必须已安装java环境 通过java -version可查看JDK版本

通过
xxx.sh start/stop/status 启动/停止/查看状态

本人亲测有效。


http://www.kler.cn/a/552362.html

相关文章:

  • Day01 【苍穹外卖】环境搭建与前后端联调
  • MySQL 面试系列:MySQL 事务的面试题总结
  • 芯麦GC1808立体声ADC芯片解析:高性价比与全集成音频采集方案
  • 【Java】分布式锁Redis和Redisson
  • PHP Web 开发基础
  • [数据结构]红黑树,详细图解插入
  • AI时代的前端开发:机遇与挑战并存
  • 如何创建自定义权限的kubeconfig
  • Cursor助力Java开发
  • PHP本地商家卡券管理系统源码
  • DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
  • 等距节点插值公式
  • 统信服务器操作系统V20 1070A 安装docker新版本26.1.4
  • MySQL Workbench 8.0不支持非SSL连接
  • Low code web framework for real world applications, in Python and Javascript
  • Linux中进程的状态3 进程的优先级1
  • Unity 获取独立显卡数量
  • LSTM-SVM故障诊断 | 基于长短期记忆神经网络-支持向量机多特征分类预测/故障诊断Matlab代码实现
  • nginx反向代理jupyter
  • C++中std::condition_variable_any、std::lock_guard 和 std::unique_