jar包启动使用logs替换nohup日志文件

在日常开发和运维工作中,Java 应用的启动、停止是高频操作。为了简化 CMS 服务(agent-server-48081)的运维流程,我们编写了两套轻量化脚本 ------start_cms.sh(启动脚本)和 stop_cms.sh(停止脚本),无需复杂配置,直接上手使用。本文将详细介绍脚本功能、使用方法及核心逻辑。

一、脚本核心作用

  • 启动脚本(start_cms.sh):一键启动 CMS 服务,自动指定 Java 环境、运行环境,同时记录完整运行日志,启动后实时查看日志输出。
  • 停止脚本(stop_cms.sh):快速查找 CMS 服务进程并强制终止,确保服务彻底停稳,避免端口占用等问题。

二、启动脚本:start_cms.sh

1. 脚本内容

复制代码
#!/bin/bash

export JAVA_HOME=/www/server/java/jdk-17.0.8

# 直接使用当前目录下的 logs 目录
LOG_FILE="./logs/agent-server-48081-$(date +%Y%m%d).log"

# 启动并将所有输出重定向到日志文件
nohup $JAVA_HOME/bin/java \
  -Dspring.profiles.active=local \
  -jar agent-server-48081.jar >> "$LOG_FILE" 2>&1 &

# 等待日志文件创建
sleep 2

# 查看日志
tail -f "$LOG_FILE"

2. 启动脚本

./start_cms.sh

三、停止脚本:stop_cms.sh

1. 脚本内容

复制代码
#!/bin/bash

cd `pwd`

ps aux | grep  'agent-server-48081.jar' | awk '{print $2}' | xargs kill -9

2. 启动脚本

./stop_cms.sh

相关推荐
小席是个热心肠8 分钟前
AI相关的自我学习
java·人工智能·学习
xfhuangfu1 小时前
Oracle中建立到CDB和PDB的连接
数据库·oracle·rpc
小小龙学IT1 小时前
DuckDB 深度实战:用 C++ 在进程内跑一个「分析型数据库」
数据库·c++
NineData1 小时前
DTCC 2026 预告|NineData CEO& 创始人叶正盛:面向 AI Agent 的数据库 DevOps 与数据复制实践
数据库·人工智能·数据库开发·devops·ninedata·数据库技术·dtcc
刘某的Cloud1 小时前
ceph osd 导入导出 rbd volume 卷
linux·运维·ceph·volume
J_bean2 小时前
MySQL 事务是否必须手动开启?
数据库·mysql·数据库事务·自动提交·手动提交
J_bean2 小时前
MySQL InnoDB 如何检测死锁、判定死锁、处理死锁
数据库·mysql·死锁·死锁检测·处理死锁·死锁判定
数智化管理手记3 小时前
海量数据如何沉淀有效数据资产?数据标准化治理方案如何搭建?
java·大数据·人工智能
浪子明X3 小时前
从 MongoDB 文档到关系模型:构建可重跑、可对账的数据迁移流水线
数据库·mongodb·oracle
杜子不疼.3 小时前
国产数据库撑起固井软件自主化:金仓 × 中海油服「海恒 Cemsol」落地解析
数据库