美文网首页
shell脚本启动jar

shell脚本启动jar

作者: 打不死的小强8号 | 来源:发表于2019-08-23 15:57 被阅读0次

1.编辑启动脚本start.sh

#!/bin/sh
# jar包所在的目录
cd /home/boss/admin
# 将admin-provider-0.0.1.jar 修改为自己的jar包名
nohup java -jar admin-provider-0.0.1.jar&
exit 0

2.编辑停止脚本stop.sh

#!/bin/sh
# 将admin-provider-0.0.1.jar修改为自己的jar包名
PID=$(ps -ef | grep admin-provider-0.0.1.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill $PID
kill $PID
fi

3.编辑查看日志脚本log.sh

#!/bin/bash
tail -f /home/boss/admin/nohup.out

4.给脚本授权命令

chmod 777 start.sh
chmod 777 stop.sh
chmod 777 log.sh

坚持才能得到最好的(一个脚本搞定)

编写脚本

#!/bin/sh
# jar包路径
HOME='/home/boss/admin'
start(){
 #进入命令所在目录
 cd $HOME
 nohup java -jar admin-provider-0.0.1.jar &
}
stop(){
 # 将admin-provider-0.0.1.jar修改为自己的jar包名
 PID=$(ps -ef | grep admin-provider-0.0.1.jar | grep -v grep | awk '{ print $2 }')
 if [ -z "$PID" ]
 then
 echo Application is already stopped
 else
 echo kill $PID
 kill $PID
 fi
}
log(){
 tail -f $HOME/nohup.out
}
case $1 in
 start)
  start
 ;;
 stop)
  stop
 ;;
 log)
  log
 ;;
 restart)
  $0 stop
  sleep 5
  $0 start
 ;;
 *)
  echo "Usage: {start|stop|restart}"
 ;;
esac
exit 0

错误:-bash: ./admin.sh: /bin/sh^M: 坏的解释器: 没有那个文件或目录

  • 错误原因:有时候编写脚本时会出现类似标题列出的错误,这个问题大多数是因为脚本文件在windows下>编辑过。在windows下,每一行的结尾是\n\r,而在linux下文件的结尾是\n,那么你在windows下编辑过的文>件在linux下打开看的时候每一行的结尾就会多出来一个字符\r,用cat -A urfile时你可以看到这个\r字符被显示>为^M,这时候只需要删除这个字符就可以了。可以使用命令sed -i 's/\r$//' filename。

  • 解决方案: 把fileName换成自己的脚本名称,这里是 admin.sh

sed -i 's/\r$//' fileName

相关文章

网友评论

      本文标题:shell脚本启动jar

      本文链接:https://www.haomeiwen.com/subject/xxctectx.html