shell脚本 java jar_linux下shell脚本执行jar文件

本文介绍了如何使用Shell脚本来启动、停止和检查运行在Linux上的Java JAR应用程序。作者分享了遇到的两个主要问题:Windows与Linux的换行符差异导致的脚本错误,以及正确获取并杀死JAR程序进程的方法。解决方案包括使用`dos2unix`转换换行符和使用`netstat`、`awk`及`cut`命令获取PID。
摘要由CSDN通过智能技术生成

最近在搞一个shell脚本启动jar文件个关闭jar文件的东东。搞得我都蛋疼了。今天晚上终于弄好了

话说,小弟的linux只是刚入门,经过各方查资料终于搞定了。话不多说,下面开始上小弟写的shell脚本

48304ba5e6f9fe08f3fa1abda7d326ab.png

1 #!/bin/bash2 #description: 启动重启server服务3 #端口号,根据此端口号确定PID4 PORT=9997

5 #启动命令所在目录6 HOME='/usr/etc/server/java/server'

7

8 #查询出监听了PORT端口TCP协议的程序9 pid=`netstat -anp|grep $PORT|awk '{printf $7}'|cut -d/ -f1`10

11

12 start(){13 if [ -n "$pid" ]; then

14 echo "server already start,pid:$pid"

15 return 0

16 fi

17 #进入命令所在目录18 cd $HOME19 nohup java -jar $HOME/pserver9997.jar > $HOME/server.log 2>&1 启动聊天服务器 把日志输出到HOME目录的server.log文件中20 echo "start at port:$PORT"

21 }22

23 stop(){24 if [ -z "$pid" ]; then

25 echo "not find program on port:$PORT"

26 return 0

27 fi

28 #结束程序,使用讯号2,如果不行可以尝试讯号9强制结束29 kill -9$pid30 rm -rf $pid31 echo "kill program use signal 2,pid:$pid"

32 }33 status(){34 if [ -z "$pid" ]; then

35 echo "not find program on port:$PORT"

36 else

37 echo "prog

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值