美文网首页
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