`

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

 
阅读更多

经常在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 ~]#

 

完结。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics