【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明

简介: ### 启动Java程序脚本 `start.sh`此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。### 停止Java程序脚本 `stop.sh`此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。

1. ⭐⭐⭐启动Java程序start.sh脚本🌙🌙🌙

nohup java -Dfile.encoding=GBK -Xmx3000M -cp ./lib/PrdCommon.jar:./lib/PrjTrade.jar com.ylink.TradeServer >output.log 2>&1 &
tail -f output.log

说明:
1)nohup代表忽略hup挂起信号,即不挂起
2)java代表启动java程序的java命令
3)-Dfile.encoding=GBK代表设置JVM字符集为GBK
4)-Xmx3000M代表设置最大堆内存为3000M
5)-cp代表-classpath 后面跟的是Java程序运行所依赖的jar包
6)com.ylink.TradeServer 代表指定Java程序的主方法入口
7)>output.log代表将标准输出重定向到output.log
8)2>&1代表将标准错误重定向到标准输出
9)&代表程序将在后台运行
综合:初始化堆内存最大值为3000M,启动并后台运行依赖某某jar包,并以TradeServer为主类的Java程序.

2. ⭐⭐⭐停止Java程序stop.sh脚本🌙🌙🌙

server_name=QuoteServer
echo ******stop $server_name begin******
#find the pid of server_name
str=$(ps -ef|grep $server_name|grep -v "grep"|awk '{printf$2}')
kill -9 $str
if [ "$?" -eq 0 ];then
  echo kill $server_name Success,pid=$str
else
  echo kill $server_name Failed,pid="$str
fi
echo ******stop $server_name end******

1)定义服务名称变量,后续会据此查找服务对应的Java进程号pid;
2)使用e'cho进行脚本执行过程提示;
3)使用ps -ef|grep $server_name查到关键字位服务名称的Java进程
4)|grep -v "grep" 表示屏蔽grep进程
5)|awk '{printf$2}' 表示从查询出的Java进程信息中取出第二位的进程号信息,
6)将进程号赋值给str变量
7)使用kill -9 $str,kill掉指定服务的Java进程
8)根据kill的执行返回结果,利用echo显示执行成功或失败的结果及进程号信息.
综合:先找到指定服务的进程号,然后kill掉,最后根据执行结果输出执行成功或失败的提示.

目录
相关文章
|
存储 人工智能 运维
别再靠脚本“救火”了!让智能数据治理接管你的运维世界
别再靠脚本“救火”了!让智能数据治理接管你的运维世界
526 14
|
机器学习/深度学习 消息中间件 人工智能
别只会写脚本了!看看机器学习是怎么帮运维“摸鱼”的
别只会写脚本了!看看机器学习是怎么帮运维“摸鱼”的
374 13
|
安全 Linux iOS开发
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
896 6
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
|
Java Linux 定位技术
Minecraft配置文件参数说明(JAVA服务器篇)
Minecraft JAVA版服务器启动后会生成server.properties配置文件,位于minecraft_server/根目录下。该文件包含多项关键设置,如游戏模式(gamemode)、最大玩家数(max-players)、难度(difficulty)等。此文档详细说明了各配置项的功能与默认值,帮助用户高效管理服务器环境。
5468 62
|
Windows
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
415 2
|
Windows
Windows下版本控制器(SVN)-启动服务器端程序
Windows下版本控制器(SVN)-启动服务器端程序
799 4
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
Java 关系型数据库 MySQL
Java汽车租赁系统源码(含数据库脚本)
Java汽车租赁系统源码(含数据库脚本)
820 4
|
文字识别 监控 Java
顺丰同城抢单辅助脚本,顺丰骑士抢单辅助免封号,自动抢单神器【java版开源】
这是一套OCR实时检测订单列表并自动右滑的完整代码方案,适用于学习研究。代码包含四个主要模块:OCR处理(文字识别)、价格分析

热门文章

最新文章