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 ~]#
完结。
上一篇: (转)设计模式综述