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

目录
相关文章
|
1月前
|
运维 应用服务中间件 网络安全
自动化运维的新篇章:使用Ansible进行服务器配置管理
【10月更文挑战第34天】在现代IT基础设施的快速迭代中,自动化运维成为提升效率、确保一致性的关键手段。本文将通过介绍Ansible工具的使用,展示如何实现高效的服务器配置管理。从基础安装到高级应用,我们将一步步揭开自动化运维的神秘面纱,让你轻松掌握这一技术,为你的运维工作带来革命性的变化。
|
1月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
68 9
|
16天前
|
运维 Ubuntu 应用服务中间件
自动化运维之路:使用Ansible进行服务器管理
在现代IT基础设施中,自动化运维已成为提高效率和可靠性的关键。本文将引导您通过使用Ansible这一强大的自动化工具来简化日常的服务器管理任务。我们将一起探索如何配置Ansible、编写Playbook以及执行自动化任务,旨在为读者提供一条清晰的路径,从而步入自动化运维的世界。
|
14天前
|
运维 网络安全 Python
自动化运维:使用Ansible实现批量服务器配置
在快速迭代的IT环境中,高效、可靠的服务器管理变得至关重要。本文将介绍如何使用Ansible这一强大的自动化工具,来简化和加速批量服务器配置过程。我们将从基础开始,逐步深入到更复杂的应用场景,确保即使是新手也能跟上节奏。文章将不包含代码示例,而是通过清晰的步骤和逻辑结构,引导读者理解自动化运维的核心概念及其在实际操作中的应用。
|
15天前
|
运维 Ubuntu 网络协议
自动化运维:使用Ansible进行服务器配置管理
在现代IT架构中,自动化运维已成为提升效率、减少人为错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和标准化服务器的配置管理过程。通过具体的代码示例和操作步骤,我们将展示如何快速部署应用、管理配置以及自动化日常任务,从而确保环境的一致性和可靠性。
|
26天前
|
运维 安全 Ubuntu
自动化运维:使用Ansible进行服务器配置管理
在现代IT基础设施中,自动化运维是确保高效、稳定和安全服务的关键。本文将深入介绍如何使用Ansible这一开源工具来简化服务器配置管理工作,从基础安装到高级应用,我们将一步步展示如何通过Ansible Playbooks实现自动化部署和维护,旨在帮助读者构建更加灵活和可扩展的运维体系。
41 7
|
27天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
110 3
|
28天前
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
2月前
|
运维 监控 网络协议
|
28天前
|
分布式计算 Java Hadoop
linux中HADOOP_HOME和JAVA_HOME删除后依然指向旧目录
通过以上步骤,可以有效地解决 `HADOOP_HOME`和 `JAVA_HOME`删除后依然指向旧目录的问题。确保在所有相关的配置文件中正确设置和删除环境变量,并刷新当前会话,使更改生效。通过这些措施,能够确保系统环境变量的正确性和一致性。
25 1