• linux-shell脚本启动jar包,并保存日志到文件中,以及如何处理 ‘$' ': 未找到命令’


    1.start.sh

    #!/bin/bash
    #jar包文件路径及名称(目录按照各自配置)
    APP_NAME=/home/linxiadp/resourceCode/app/dataextract.jar
    #日志文件路径及名称(目录按照各自配置)
    LOG_FILE=/home/linxiadp/resourceCode/app/out.log
    #查询进程,并杀掉当前jar/java程序
    pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
    kill -9 $pid
    echo "$pid进程终止成功"
    sleep 2
    #判断jar包文件是否存在,如果存在启动jar包,并时时查看启动日志
    if test -e $APP_NAME
    then
    dcho '文件存在,开始启动此程序...'
    # 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件
    nohup java -jar $APP_NAME > $LOG_FILE 2>&1 &
    #实时查看启动日志(此处正在想办法启动成功后退出)
    tail -f $LOG_FILE
    #输出启动成功(上面的查看日志没有退出,所以执行不了,可以去掉)
    #echo '$APP_NAME 启动成功...'
    else
    echo '$APP_NAME 文件不存在,请检查。'
    fi

    2.stop.sh

    #!/bin/bash
    #jar包文件路径及名称(目录按照各自配置)
    APP_NAME=/home/linxiadp/resourceCode/app/dataextract.jar
    #日志文件路径及名称(目录按照各自配置)
    LOG_FILE=/home/linxiadp/resourceCode/app/out.log
    #查询进程,并杀掉当前jar/java程序
    pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
    kill -9 $pid
    echo "$pid进程终止成功"

    3.可能碰到的问题

    linux环境跑上面脚本的时候可能会碰到 -- ‘$' ': 未找到命令的问题,

    解决办法:https://www.cnblogs.com/Mrq-t/p/12886520.html

  • 相关阅读:
    perl dbi 控制事务
    READ-COMMITTED 不能进行可重复读和防止幻读
    REPEATABLE-READ 预读
    如何规划农商行商业智能系统中的决策分析系统?
    如何规划农商行商业智能系统中的决策分析系统?
    【MySQL】gap lock 浅析
    REPEATABLE-READ和READ-COMMITTED幻读
    ORA-01555: snapshot too old
    CXF动态客户端调用webservice实例
    mysql 区间锁
  • 原文地址:https://www.cnblogs.com/20158424-hxlz/p/14482370.html
Copyright © 2020-2023  润新知