首页 > 其他分享 >bash的start脚本

bash的start脚本

时间:2023-09-25 09:34:14浏览次数:35  
标签:脚本 NAME stop APP pid echo start bash

#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=gateway-1.0-SNAPSHOT.jar
INSTALL_PATH=/home/server/immp/gateway

#使用说明,用来提示输入参数
usage() {
    echo "Usage: sh 脚本名.sh [start|stop|restart|status]"
    exit 1
}

#检查程序是否在运行
is_exist(){
  pid=`ps -ef|grep $INSTALL_PATH/$APP_NAME|grep -v grep|awk '{print $2}' `
  #如果不存在返回1,存在返回0
  if [ -z "${pid}" ]; then
   return 1
  else
    return 0
  fi
}

#启动方法
start(){
  is_exist
  if [ $? -eq "0" ]; then
    echo "${APP_NAME} is already running. pid=${pid} ."
  else
    BUILD_ID=DONTKILLME
    nohup java -jar $INSTALL_PATH/$APP_NAME --spring.config.location=$INSTALL_PATH/config/application.yml> /dev/null 2>&1 &
    echo "${APP_NAME} start success"
  fi
}

#停止方法
stop(){
  is_exist
  if [ $? -eq "0" ]; then
    kill -9 $pid
  else
    echo "${APP_NAME} is not running"
  fi
}

#输出运行状态
status(){
  is_exist
  if [ $? -eq "0" ]; then
    echo "${APP_NAME} is running. Pid is ${pid}"
  else
    echo "${APP_NAME} is NOT running."
  fi
}

#重启
restart(){
  stop
  start
}

#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
  "start")
    start
    ;;
  "stop")
    stop
    ;;
  "status")
    status
    ;;
  "restart")
    restart
    ;;
  *)
    usage
    ;;
esac

标签:脚本,NAME,stop,APP,pid,echo,start,bash
From: https://www.cnblogs.com/sunfankun/p/17727170.html

相关文章

  • linux巡检脚本常用
    Linux系统服务巡检脚本原创 李逸皓 运维book思议 2023-09-2418:01 发表于河北收录于合集#linux系统63个#运维103个#shell66个先放个链接,万一有人关注呢运维book思议李小白,一个北漂的运维。希望能够通过本公众号与业内各位大神交流技术问题。186篇......
  • bash shell快速备忘单
    linuxbashshell脚本的快速参考备忘单(全)原创 诺苏编程 Qt历险记 2023-08-1214:07 发表于广东收录于合集#linux10个#echo1个#bash1个入门hello.sh#!/bin/bashVAR="world"echo"Hello$VAR!"#=>Helloworld!执行脚本$bashhello.sh 变量NAME=......
  • Bash-正则表达式
    一.正则表达式与通配符通配符:用来匹配符合条件的文件名(完全匹配),ls、find、cp这些命令不支持正则表达式,所以只能用通配符正则表达式:用来匹配符合条件的字符串(包含匹配),grep、awk、sed等命令支持正则表达式常用通配符:*(任意字符重复任意多次)、?、[]二.基础正则表达式*(匹配前一个......
  • shell-进程管理脚本
    功能函数列表:    1、functionget_all_group 返回进程组列表字符串2、functionget_all_process 返回进程名称列表字符串        3、functionget_process_info 返回进程详细信息列表字符串,详细信息包括:运行状态、   PID、CPU、MEM、启......
  • windows+iis脚本映射方式实现伪静态(包括asp.net)
    一.Windows2008、2012或更高系统     只需要在设置脚本影射的目录下创建web.config文件,其内容为<?xml version="1.0" encoding="UTF-8"?>    <configuration>      <system.webServer>        <handlers>                   ......
  • Postman 中 Pre-request Script 加密脚本 CryptoJS-AES-ECB-128
    参考链接:http://jser.io/2014/08/19/how-to-use-aes-in-crypto-js-to-encrypt-and-decryptAug19,2014 //明文test_Str=`{"pageNo":1,"pageSize":15}` constplaintText=test_Str;constkeyStr='3333333333333333';//一般key为一个字......
  • 【问题解决】shell脚本执行错误 $‘\r‘:command not found
    问题原因:在Windows中,换行符是由回车符(\r)和换行符(\n)组成的,而在Unix/Linux等系统中,只使用换行符(\n)作为换行标志。当你在Unix/Linux系统上运行一个包含Windows格式换行符的脚本时,Shell会尝试解释其中的回车符,导致错误提示$‘\r’:commandnotfound。这是因为Shell将回......
  • Oracle中start with connect by prior 使用方法
    一、语法{CONNECTBY[NOCYCLE]condition[ANDcondition]...[STARTWITHcondition]|STARTWITHconditionCONNECTBY[NOCYCLE]condition[ANDcondition]...}解释:startwith:指定起始节点的条件connectby:指定父子行的条件关系prior:查询父行的限......
  • 关于编写自动调度脚本遇到的问题
    需求将入库的stg层表中日指标历史数据同步到dwd层,之前的日指标数据账期从20230820到202309181.echo输出变量导入配置文件最后的结果#!/bin/bashsource~/.bashrcsource~/.bash_profilesource/etc/profilestart_date=20230820end_date=20230918current_date=$st......
  • 编写一个接受两个字符串参数的脚本。脚本应检查第一个字符串是否包含第二个参数的子串
    方法一:#!/bin/bash#检查是否提供了足够的参数if[$#-ne2];thenecho"用法:$0<主字符串><子串>"exit1fi#从命令行参数中获取主字符串和子串main_string="$1"substring="$2"#检查主字符串是否包含子串if[[$main_string==*$substring*]];then......