热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

自动运行和关闭jar程序的sh脚本

前段时间研究了下如何把java程序打包成jar在centos上运行,但是jar文件多了之后,启动和关闭都很麻烦,于是考虑写个脚本来搞定它!大概的思路是:先得到运行程序的PID,然后kill掉该程序,隔

前段时间研究了下如何把java程序打包成jar在centos上运行,但是jar文件多了之后,启动和关闭都很麻烦,于是考虑写个脚本来搞定它!大概的思路是:先得到运行程序的PID,然后kill掉该程序,隔一段时间后再启动该程序.脚本代码如下:

 

#!/bin/sh#!restartjar.sh

 

ps -ef| grep 'test1.jar'|grep -v grep|awk '{print $2}'|xargs kill -9

ps -ef| grep 'test2.jar'|grep -v grep|awk '{print $2}'|xargs kill -9

ps -ef| grep 'test3.jar'|grep -v grep|awk '{print $2}'|xargs kill -9

ps -ef| grep 'test4.jar'|grep -v grep|awk '{print $2}'|xargs kill -9

 

sleep 2

 

ps -ef|grep java


cd /root/test/test1

rm -rf nohup.out


cd /root/test/test2

rm -rf nohup.out

 

cd /root/test/test3

rm -rf nohup.out

 

cd /root/test/test4

rm -rf nohup.out

 

sleep 120


cd /root/test/test1

nohup java -jar -Xms128m -Xmx2048m test1.jar &

 

cd /root/test/test2

nohup java -jar -Xms128m -Xmx2048m test2.jar &

 

cd /root/test/test3

nohup java -jar -Xms128m -Xmx2048m test3.jar &

 

cd /root/test/test4

nohup java -jar -Xms128m -Xmx2048m test4.jar &

exit 0


代码就这么多了,解释下一些关键点

ps -ef| grep 'test1.jar'|grep -v grep|awk '{print $2}'|xargs kill -9 这行代码中:

grep -v grep是去掉ps test1.jar 的PID 

awk '{print $2}' 是取ps 结果的第二列的值,也就是test1.jar的PID

xargs 是将前面的代码运行的结果最为kill -9 的参数来强制结束掉test1.jar程序

 

sleep 120:等待3分钟,在启动jar程序

以上不正确的地方还请各位高手斧正下!!

 


推荐阅读
author-avatar
雅俊建安义琬
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有