linux重启java服务(超简单)

5,824 阅读1分钟

最近在一个学习群里面一位老哥问了一个问题,他需要重启一个微服务但是之前没接触过linux,只做过开发。我就在想有多少培训出来工作一两年都没有接触过公司的服务器,连公司服务器在哪都不知道,只知道自己写完的代码提交上去,然后测试没问题就不知道项目后续的事情了,所以就想着写一篇超简单重启java程序的帖子大家一起进步。

环境

系统:阿里云center OS 8
java环境:jdk1.8
java程序:hg-learn.jar\

第一步

查看当前java程序是否在运行 ps -ef|grep hg-learn.jar

image.png

第二步

通过上面命令可以看到现在 hg-learn.jar jar包的运行情况,这里运行的进程号是 78572 ,杀掉这个进程,也可以用 kill +对应的进程号 kill -9 78572
kill -9 对应的进程号

第三步

重新启动应用程序: java -jar hg-learn.jar
后台启动: nohup java -jar hg-learn.jar &
后台启动并设置内存大小: nohup java -Xmx512m -jar hg-learn.jar &

如果没有指定日志输出那么就在当前的文件夹生成一个 nohup.out 文件夹。
通过 tail -f nohup.out 查看项目启动信息。

shell脚本

生成 .sh 文件然后给定权限,把下面这段代码放进入每次启动就只需要通过 sh start.sh 命令启动或重启项目了。
注意: 修改对应的项目名称,之后需要重启java服务只需要 sh 下面这个脚本文件名.sh 即可

#!/bin/sh
echo "  =====关闭Java应用======"
PROCESS=`ps -ef |grep java |grep -v grep|grep hg-learn.jar|awk '{print $2}'`
for i in $PROCESS
do
  echo "Kill the $1 process [ $i ]"
  kill -9 $i
done
echo "  =====启动Java应用======"
nohup java -Xmx512m  -jar hg-learn.jar & 
echo $! > savePid.txt
cat savePid.txt
rm  savePid.txt
tail -f nohup.out