【运维基础知识】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掉,最后根据执行结果输出执行成功或失败的提示.

目录
相关文章
|
6天前
|
运维 Devops
自动化运维:从脚本到DevOps的进化之旅
在数字化时代,自动化运维不仅是提高生产效率的关键,更是企业竞争力的象征。本文将带领读者穿越自动化运维的发展历程,从最初的脚本编写到现代DevOps文化的形成,揭示这一演变如何重塑IT行业的工作模式。通过具体案例,我们将展示自动化工具和实践如何简化复杂任务,优化流程,并促进团队协作。你将发现,自动化运维不仅关乎技术的进步,更体现了人、流程和技术三者之间协同增效的深层逻辑。
|
20天前
|
运维 监控 Python
自动化运维:使用Python脚本简化日常任务
【10月更文挑战第36天】在数字化时代,运维工作的效率和准确性成为企业竞争力的关键。本文将介绍如何通过编写Python脚本来自动化日常的运维任务,不仅提高工作效率,还能降低人为错误的风险。从基础的文件操作到进阶的网络管理,我们将一步步展示Python在自动化运维中的应用,并分享实用的代码示例,帮助读者快速掌握自动化运维的核心技能。
35 3
|
25天前
|
缓存 运维 NoSQL
python常见运维脚本_Python运维常用脚本
python常见运维脚本_Python运维常用脚本
27 3
|
26天前
|
运维 监控 应用服务中间件
自动化运维:如何利用Python脚本提升工作效率
【10月更文挑战第30天】在快节奏的IT行业中,自动化运维已成为提升工作效率和减少人为错误的关键技术。本文将介绍如何使用Python编写简单的自动化脚本,以实现日常运维任务的自动化。通过实际案例,我们将展示如何用Python脚本简化服务器管理、批量配置更新以及监控系统性能等任务。文章不仅提供代码示例,还将深入探讨自动化运维背后的理念,帮助读者理解并应用这一技术来优化他们的工作流程。
|
27天前
|
运维 监控 Linux
自动化运维:如何利用Python脚本优化日常任务##
【10月更文挑战第29天】在现代IT运维中,自动化已成为提升效率、减少人为错误的关键技术。本文将介绍如何通过Python脚本来简化和自动化日常的运维任务,从而让运维人员能够专注于更高层次的工作。从备份管理到系统监控,再到日志分析,我们将一步步展示如何编写实用的Python脚本来处理这些任务。 ##
|
28天前
|
Ubuntu Linux Shell
Linux 系统中的代码类型或脚本类型内容
在 Linux 系统中,代码类型多样,包括 Shell 脚本、配置文件、网络配置、命令行工具和 Cron 定时任务。这些代码类型广泛应用于系统管理、自动化操作、网络配置和定期任务,掌握它们能显著提高系统管理和开发的效率。
|
1月前
|
运维 Prometheus 监控
自动化运维之路:从脚本到DevOps
【10月更文挑战第25天】在数字化时代的浪潮中,运维不再是简单的服务器管理,而是成为了企业竞争力的核心。本文将带你走进自动化运维的世界,探索如何通过技术手段提升效率和稳定性,以及实现快速响应市场的能力。我们将一起学习如何从基础的脚本编写进化到全面的DevOps实践,包括工具的选择、流程的优化以及文化的建设。无论你是运维新手还是资深专家,这篇文章都将为你提供有价值的见解和实用的技巧。
30 3
|
1月前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
2月前
|
运维 Java Linux
【运维基础知识】掌握VI编辑器:提升你的Java开发效率
本文详细介绍了VI编辑器的常用命令,包括模式切换、文本编辑、搜索替换及退出操作,帮助Java开发者提高在Linux环境下的编码效率。掌握这些命令,将使你在开发过程中更加得心应手。
38 2
|
前端开发 Java Linux
Java服务器宕机解决方法论(上)
Java服务器宕机解决方法论(上)
752 0
Java服务器宕机解决方法论(上)