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

相关推荐
David猪大卫2 小时前
【Linux修炼】环境变量、进程地址空间
linux·c语言·经验分享·笔记·学习·ubuntu·centos
金銀銅鐵3 小时前
为什么枚举类中可以定义抽象方法
java·后端·ai编程
叼烟扛炮3 小时前
Linux 学习笔记(五十六):IO 多路复用初探——select 的“三宗罪”
linux·服务器·数据库·笔记·学习·php
Ruiery3 小时前
Linux 6.6内核内存管理深度解析(十五):CMA 连续内存分配器
linux·运维·服务器
文丑颜不良啊4 小时前
LeetCode1941~1960题目解析
java·leetcode
测试界的小码农4 小时前
【Linux 命令实战(01):认识 Linux 终端,从零掌握第一个命令】
linux·运维·服务器
txxzjmzlh4 小时前
SpringBoot 统⼀功能处理
java·spring boot·后端
布裘5 小时前
【银河麒麟】重启后时区丢失?排查发现 localtime 被业务程序替换成硬链接
linux·运维·网络
.痞老板.5 小时前
mysql初阶--数据库基础
数据库·mysql
nice_lcj5206 小时前
Java Lambda 表达式入门:怎么写、怎么用、常用方法有哪些
java·开发语言·后端·面试