当前位置: 代码网 > 服务器>服务器>Linux > linux下jar的启停及状态监控

linux下jar的启停及状态监控

2025年11月25日 Linux 我要评论
一、创建脚本文件vim ssmjar.sh脚本内容如下#!/bin/bash # jar文件路径 jar_path="/path/to/your/jarfile.jar" # java可

一、创建脚本文件

vim ssmjar.sh

脚本内容如下

#!/bin/bash  
  
# jar文件路径  
jar_path="/path/to/your/jarfile.jar"  
  
# java可执行文件路径(可选)  
java_home="/path/to/your/java/home"  
  
# 启动jar文件  
function startjar() {  
    if [ -f "$jar_path" ]; then  
        echo "starting jar file..."  
        if [ -n "$java_home" ]; then  
            $java_home/bin/java -jar "$jar_path" &  
        else  
            java -jar "$jar_path" &  
        fi  
        echo "jar file started."  
    else  
        echo "jar file not found!"  
    fi  
}  
  
# 停止jar文件  
function stopjar() {  
    echo "stopping jar file..."  
    pid=$(ps -ef | grep "$jar_path" | grep -v grep | awk '{print $2}')  
    if [ -n "$pid" ]; then  
        kill -9 "$pid"  
        echo "jar file stopped."  
    else  
        echo "jar file not running."  
    fi  
}  
  
# 监控jar文件状态  
function monitorjar() {  
    while true; do  
        echo "monitoring jar file..."  
        pid=$(ps -ef | grep "$jar_path" | grep -v grep | awk '{print $2}')  
        if [ -z "$pid" ]; then  
            echo "jar file stopped."  
            exit 1  
        else  
            echo "jar file is running with pid: $pid"  
            sleep 5  # 每隔5秒检查一次状态,可根据需要调整间隔时间  
        fi  
    done  
}  
  
# 根据参数执行相应操作  
case "$1" in  
    start)  
        startjar  
        ;;  
    stop)  
        stopjar  
        ;;  
    status)  
        monitorjar &  # 在后台运行,否则脚本会阻塞在monitorjar函数中  
        ;;  
    *)  
        echo "usage: $0 {start|stop|monitor}"  
        exit 1  
        ;;  
esac

二、赋予执行权限

通过如下命令赋予脚本文件可执行权限

chmod +x ssmjar.sh

三、使用方法

#启动
ssmjar.sh start
#停止
ssmjar.sh stop
#状态
ssmjar.sh status

请注意:

  • 需要将/path/to/your/jarfile.jar替换为你的jar文件的实际路径。
  • 已经将/path/to/your/java/home替换为实际的java安装路径。
  • 此外,你可以根据需要调整sleep命令中的时间间隔。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com