欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux Shell - Jar可执行文件的管理小脚本:启动停止以及状态查看

程序员文章站 2022-05-21 20:36:27
...

经常在Linux中启动关闭,或者查看Jar执行程序/或者其他可执行程序。

比较麻烦的是经常要切换目录,遇到比较坑的目录特别深,要输入老半天的目录结构。

所以就想着自己写个类似service xxx start类似的小脚本来操作,方便多了,在此记录,以备后用:

#!/bin/bash
#自安装程序管理,方便操作
name="Demo"
home="E:\Git\jl-java\httpclient\target"
jar="httpclient-0.0.1-SNAPSHOT.jar"
if [ -z $1 ]; then
	echo "Please choose:start|stop|status"
elif [ "$1" == "start" ];then
	echo "$name starting..."
	nohup java -jar $home/$jar >> /dev/null &
	echo "$name started..."
elif [ "$1" == "stop" ];then
	echo "$name stoping..."
	jps|grep $jar
	pid=$(jps|grep $jar|cut -d " " -f 1)
	echo "Jar pid: $pid"
	kill -9 $pid
	echo "$name stopped..."
elif [ "$1" == "status" ];then
	jps|grep $jar
	pid=$(jps|grep $jar|cut -d " " -f 1)
	echo "Jar pid: $pid"
	if [ -z $pid ];then
		echo "$name stopped..."
	else
		echo "$name running..."
	fi
else 
	echo "Error choice, please choose:start|stop|status"
fi

 

在实际使用时,将头部的name,home,jar替换为自己实际信息就可以了。

在Linux上测试结果:

[root@bogon ~]# ./jardemo status
Jar pid:
Http Client stopped...
[root@bogon ~]# ./jardemo start
Http Client starting...
Http Client started...
[root@bogon ~]# nohup: redirecting stderr to stdout

[root@bogon ~]# ./jardemo status
1918 httpclient-0.0.1-SNAPSHOT.jar
Jar pid: 1918
Http Client running...
[root@bogon ~]# ./jardemo stop
Http Client stoping...
1918 httpclient-0.0.1-SNAPSHOT.jar
Jar pid: 1918
Http Client stopped...
[root@bogon ~]# ./jardemo status
Jar pid:
Http Client stopped...
[root@bogon ~]#

如果还嫌输入脚本路径比较麻烦,可以将脚本名称定义为一个不冲突的文件名,然后创建一个软连接到/usr/local/bin目录下,以后就不用输入路径了,在哪里都可以执行。

 

[root@bogon ~]# ln -s /root/jardemo /usr/local/bin/

 

如下所示,不用再指定目录了,像使用命令一样,在哪里都可以用:

[root@bogon ~]# jardemo status
Jar pid:
Http Client stopped...
[root@bogon ~]#

 

完结。